1.let
var =
let "var+=1"
let v2=var*
echo $var,$v2 #2,4
a.只支持整数运算
b.基本支持所有运算符(包括++,——,**)
c.表达式中使用变量可以不加$
d.一般情况下表达式可不加双引号,但当表达式中含有bash中的关键字,则需加上
2.expr
var=
var=`expr $var + `
echo $var #
a.只支持整数运算
b.支持的操作符:|, &, <, <=, !=, >=, >, +, -, *, /, %
c.操作符 |, &, <, <=, >=, >, *需要使用\转义
d.expr后的表达式各个符号之间需用空格隔开
3.bc
var=3.14
vap=`echo "scale=2;$var*3" | bc`
echo $vap #9.42
a.支持除位运算之外的所有运算符
b.使用scale设置运算精度
4.(())
var=
((var+=))
(("var*=2"))
van=$((var*))
echo $var, $van #,
a.用法与let基本一致
b.把(())运算结果赋值时,前方需使用$
5.$[]
var=
vas=$[$var+]
vat=$[var*]
echo $vas, $vat #,
a.只支持整数运算
b.支持与let命令一致的运算符
c.$[]内部变量前的$可省略
6.awk(比较复杂,功能强大)
var=
var=`echo "$var 5" | awk '{printf("%g", $1+$2)}'`
echo $var #