基本形式:
((expression)),其等价于let "expression"。
$ foo=4
$ ((foo=foo+1))
$ echo $foo
5
$ let foo+=1
$ echo $foo
6
Bash中还提供了算数扩展(Arithmetic Expansion)。
基本形式:
$(()),其是在((expression))基础上,把返回结果赋值一个变量。
$ foo=$((foo+1))
$ echo $foo
7
另,若涉及到浮点数运算,数制转换等,可使用bc工具,其以命令行形式提供了标准的数学运算库。
$ echo "22/7" | bc
3
可通过特殊变量scale指定小数点后的位数(默认是0)。
$ echo "scale=3; 22/7" | bc
3.142
还提供了变量ibase,和obase指定输入输出的数制(默认是10)。
$ echo "ibase=10; obase=2; 4" | bc
100