shell脚本提供了且仅提供了整数的数学运算,如果需要使用小数的话,就只能使用bc这个程序了。假设下面的一段代码:
x=1 #注意变量赋值的时候等号两边不能有空格 x=$x+1 echo $x程序输出的结果是1+1而不是2.为了正确地进行四则运行,需要使用以下几种方式:
expr,用于整数运算,每一项用空格隔开。例如
x=`expr $x + 1`
加号两边必须有空格,否则还是按照字符串的方式赋值。另外*在shell中有特殊的意义,做乘法时需要写成 \* 或者使用双引号括起来。
使用let表示数学运算,如 let "x+=1" 或者 let "x=$x+1"
(())与let类似, ((x+=1)) 或者 ((x=$x+1))
$[] 将中括号内的表达式作为数学运算先计算结果再输出, x=$[$x+1]