Linux Shell编程之算术运算

 最近在学习Shell编程,但是发现写脚本的过程中,语法规则很讲究,多以在这里做一个学习总结,希望给初学者一个参考。
 shell编程中的算术运算
 shell中和其他编程语言一样,支持+、-、*、/、%等算数运算符。
 1算术扩展((expression))和$[expression]
 (1)bash不用另外生成进程即能进行整数运算。bash使用((…))命令和$[…]变量语法进行算数运算.
 算数运算举例:

VAR=55             # 将整数55赋值给变量VAR
((VAR = VAR + 1))  # 变量VAR加1。注意这里没有'$'
((++VAR))          # 另一种方法给VAR加1。使用C语言风格的前缀自增
((VAR++))          # 另一种方法给VAR加1。使用C语言风格的后缀自增
echo $((VAR * 22)) # VAR乘以22并将结果送入命令
echo $[VAR * 22]   # 同上,但为过时用法

 (2) ((…))命令可以用于条件语句,因为它的退出状态是0或者非0(大多数情况下是1),可以用于是与非的条件判断:

 if((VAR == Y * 3 + X * 2))
 then
         echo Yes
 fi

 ((Z > 23)) && echo Yes

 (3) ((…))命令支持的比较操作符有:
‘==’, ‘!=’, ‘>’, ‘<’, ‘>=’,和’<=’。

 (4)bash不能在自身进程内进行浮点数运算。

下面写一个shell程序测试上面的语法:

#指明解释的程序为bash
#!/bin/bash
#$1和$2是命令的位置参数
a=$1
b=$2
#使用(())方法进行算数运算
c=(($a+$b))
#使用$[expression]方式进行计算
c=`expr $[a+b]`
#let方式计算表达式
let c=$a+$b
a=$((++a))
echo $a

待续。。。持续更新中

猜你喜欢

转载自blog.csdn.net/yyg_2015/article/details/71437388
今日推荐