运算方式
expr
n=`expr a + a`
# 'a' 或 'b' 为变量时需要在加‘$’,如:$a、$b
# 'a'、'+'、'b'之间需要有空格,否则报错 expr:非整数参数
# 如果'a'或'b'未初始化,报语法错误
# expr 没有乘幂
let
let n=a+b
# 'a' 或 'b' 为变量时不需要在加‘$’,自动识别变量
# 如果'a'或'b'未初始化,默认初始化为 0
$(())
n=$((a+b))
# 'a' 或 'b' 为变量时不需要在加‘$’,自动识别变量
# 如果'a'或'b'未初始化,默认初始化为 0
$[]
n=$[a+b]
# 'a' 或 'b' 为变量时不需要在加‘$’,自动识别变量
# 如果'a'或'b'未初始化,默认初始化为 0
加1操作
# 在shell script中 +1 的几种操作方式
n=`expr $a + 1`
let n=a+1 或 let n=a+1
n=$[a+1] 或 n=$[a+1]
n=$((a+1)) 或 n=#(($a+1))
# 同其他语言中的 ++ 操作
((a++))
取模与取余区别
- 官方描述
- 取余运算:在计算商值向0方向舍弃小数位
- 取模运算:在计算商值向负无穷大方向舍弃小数位