Linux中有四种算术运算,分别是expr,let,$[],$(())。
下面分别介绍一下这四种算术运算的使用方法
一、expr的用法
[root@ssspure ~]# expr 1 + 2 3 [root@ssspure ~]# expr 1 - 2 -1 [root@ssspure ~]# expr 8 + 6 14 [root@ssspure ~]# expr 8 - 6 2 [root@ssspure ~]# expr 8 \* 6 48 [root@ssspure ~]# expr 8 / 6 1 [root@ssspure ~]# a=3 [root@ssspure ~]# b=4 [root@ssspure ~]# expr $a + $b 7
以上分别是expr做加减乘除运算的例子。
在使用expr做运算的时候,如果想要将运算结果赋值给另一个变量,就要像如下的操作那样。
[root@ssspure ~]# a=`expr 2 + 3` [root@ssspure ~]# echo $a 5
下面说一下使用expr要注意的地方。
1、使用expr做运算的时候,算术和运算符之间要用空格分隔开,否则将不会进行运算
[root@ssspure ~]# expr 1+2 1+2
2、在进行乘法运算的时候,*前面要接\转义,因为*在正则表达式里面代表匹配多个的意思
[root@ssspure ~]# expr 2 * 3 expr: syntax error
二、let命令
[root@ssspure ~]# let a=2+3 [root@ssspure ~]# echo $a 5 [root@ssspure ~]# let a=2-3 [root@ssspure ~]# echo $a -1 [root@ssspure ~]# let a=2*3 [root@ssspure ~]# echo $a 6 [root@ssspure ~]# let a=2/3 [root@ssspure ~]# echo $a 0 [root@ssspure ~]# b=4 [root@ssspure ~]# c=2 [root@ssspure ~]# let a=$b/$c [root@ssspure ~]# echo $a 2
在使用let的时候,一般都需要将他们赋给一个变量来接受运算的结果。
let跟expr不一样,不需要再算数和运算符之间加空格。
三、$[]的使用
[root@ssspure ~]# a=$[2+3] [root@ssspure ~]# echo $a 5 [root@ssspure ~]# a=$[2-3] [root@ssspure ~]# echo $a -1 [root@ssspure ~]# a=$[2*3] [root@ssspure ~]# echo $a 6 [root@ssspure ~]# a=$[2/3] [root@ssspure ~]# echo $a 0
四、$(())的使用
[root@ssspure ~]# a=$((1+3)) [root@ssspure ~]# echo $a 4 [root@ssspure ~]# a=$((1-3)) [root@ssspure ~]# echo $a -2 [root@ssspure ~]# a=$((1*3)) [root@ssspure ~]# echo $a 3 [root@ssspure ~]# a=$((1/3)) [root@ssspure ~]# echo $a 0
转载于:https://blog.51cto.com/ssspure/1862362