1:使用 expr 外部命令

$ r=`expr 4 + 5` # 这里的空格一个都不能少
$ echo $r
9
$ echo `expr 4 * 5`
expr: syntax error

$ echo `expr 4 \* 5`  # * 需要用\进行转义
20

4 + 5是传递给expr命令的三个参数,所以必须用空格隔开

2:使用 $(( ))

$ r=$((4+5))
$ echo $r
9

3:使用 $[ ]

$ r=$[4+5]
$ echo $r
9

$(( ))和$[ ]中的表达式中可以加空格也可以不加空格

4:使用let 命令

$ let r=4+5
$ echo $r
9

下面分别以四种方式演示各种算术运算

加法

$ echo `expr 1 + 2`
3
$ echo $((1+2))
3
$ echo $[1+2]
3
$ let a=1+2
$ echo $a
3

减法

$ echo `expr 5 - 3`
2
$ echo $((5-3))
2
$ echo $[5-3]
2
$ let s=5-3
$ echo $s
2

乘法

$ echo `expr 2 \* 3`
6
$ echo $((2*3))
6
$ echo $[2*3]
6
$ let m=2*3
$ echo $m
6

除法

$ echo `expr 12 / 4`
3
$ echo $((12/4))
3
$ echo $[12/4]
3
$ let m=12/4
$ echo $m
3

求余数

$ echo `expr 12 % 5`
2
$ echo $((12%5))
2
$ echo $[12%5]
2
$ let m=12%5
$ echo $m
2

乘幂

$ echo `expr 2 \*\* 3`
expr: syntax error

$ echo $((2**3))
8
$ echo $[2**3]
8
$ let m=2**3
$ echo $m
8

注:expr没有乘幂

常用的加1操作

$ m=0
$ m=`expr $m + 1`	# m=1
$ m=$(($m+1))		# m=2
$ m=$[$m+1]		# m=3
$ let m=m+1		# m=4
$ echo $m
4

转载请注明:知识蚂蚁 » Bash shell 中算术运算的四种方式

我来说说

(便于我们更好的交流)

有不明白的地方欢迎留言哦~
取消