shell中对所有数据类型都解释为字符串,包括:
a=b
a=1
都表示将后面的字符串“b”或“1”赋值给a。
但我们有时候需要计数器,或者某种数学运算,如何操作呢?方法从最简单的介绍:
方法一、
((数学运算可以带空格))
比如:
a=2
((b = a * 2 + 1 ))
echo $b
那么结果为5
这种方式最直观,还可以随意带空格。计算式中还能带括弧((b = (3 + 2) * 2 + 1 ))。
方法二、
s=`expr 2 + 3 \* 2`
这种方法相对复杂,乘号还得转义,不推荐使用。
方法三、
let a=2+3*2/3
比较直观,但不能带空格。
这三种方法,首先推荐第一种,只要将变量放在(())里,里面表达式就跟我们常用的其它语言一样了。