总是被shell算数弄的头晕,每个人都有各自的习惯,总结下,方便以后查阅。

算数运算

1、$((算数式))

echo $((4+6))  ====》10
echo $((4+k))  ====》4
echo $((4+$k)) ====》 Error(因为变量k未定义)

# cat c 
m=6
n=$((--m))
echo $n
结果n=5

2、$[算术式]
类似$(())
r=$[4*5]; echo $r ===>20

3、expr 算术式
注意特殊字符* | < > ! & 、等

expr 4 + 4 ===》8(注意4+4间的空格,否则报语法错误)
# cat c 
m=`expr 5 + 3`
echo $m  结果为8
# expr 4 \* 6  ===>24

4、declare -i 变量=算术式
算术式中不可有空格,要紧密连接
# cat c 
declare -i m=4+4
echo $m
结果=8

# cat c 
declare -i m=4*4
echo $m
结果=16

5、let 算术式
算术式可以有空格,需要用引号
# cat c 
let "m = 5 * 4"
echo $m