shell编程之算术运算符
Posted 永远不要矫情
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程之算术运算符相关的知识,希望对你有一定的参考价值。
算术运算符指的是加,减,乘,除,余等常见算术运算,以及加等,减等,乘等复合算术运算。需要注意的是shell只支持整数计算,所有产生小数的运算都会直接舍去小数部分,向下取整。
1.算术运算使用的命令为let,在除法和取余运算中,除法不能为0,否则报错。
常规算术运算符如下:
运算符 | 运算符例子 | 运算结果 |
---|---|---|
+(加运算符) | 1+1 | 2 |
-(减运算符) | 2-1 | 1 |
*(乘运算符) | 2*4 | 8 |
/(除运算符) | 3/2 | 1 |
%(余运算符) | 9%4 | 1 |
**(幂运算符) | 3**2 | 9 |
[root@node1 ~]# let "value=20/3"
[root@node1 ~]# echo $value
6
[root@node1 ~]# let "value=20/0"
-bash: let: value=20/0: division by 0 (error token is "0")[root@node1 ~]# let "value=3**2"
[root@node1 ~]# echo $value
9
复合运算符如下:
运算符 | 运算符例子 | 运算结果 |
---|---|---|
+=(加等运算符) | x=8,x+=2 | 10 |
-=(减等运算符) | x=8,x-=2 | 6 |
*=(乘等运算符) | x=8,x*=2 | 16 |
/=(除等运算符) | x=8,x/=3 | 2 |
%=(余等运算符) | x=8,x%=3 | 2 |
[root@node1 ~]# x=6
[root@node1 ~]# let x+=6
[root@node1 ~]# echo $x
12
2.$[]命令也可做简单的算术运算,例如:
[root@node1 ~]# echo $[1+1]
2
[root@node1 ~]# echo $[6-2]
4
[root@node1 ~]# echo $[6*2]
12
3.expr命令
expr命令也可做算术运算,但要求操作符和操作数之间使用空格隔开,否则只会打印字符串,所以使用特殊的操作符要使用转义字符。例如:
[root@node1 ~]# expr 1+1
1+1
[root@node1 ~]# expr 1 + 1
2
[root@node1 ~]# expr 2 * 2
expr: syntax error
[root@node1 ~]# expr 2 \\* 2
4
以上是关于shell编程之算术运算符的主要内容,如果未能解决你的问题,请参考以下文章