shell程序中的操作默认都是字符串操作,在运行数学运算符的时候可能得到意想不到的答案:
var=1
var=$var+1
echo $var 将输出 1+1 从这个例子中可以看出shell字符串连接的操作
let 命令
let 命令是 BASH 中用于计算的工具,用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量。
运算符间不能有空格,如果表达式中包含了空格或其他特殊字符,则必须引起来。
var=1 let "var+=1" # 或 let var+=1 这种写法运算符间不能有空格 echo $var output: 2
let可以用(())代替,let ″j=i*6+2″等价于((j=i*6+2)) expr命令 将需要运算的表达式写入在expr 后面,保证参数与运算符号中间有空格隔开。 var=1 var=`expr $var + 1` #如果没有空格,即var=`expr $var+1` 则输出为1+1 echo $var
output: 2
下面为一个具体的例子: