本文主要是介绍Shell 必知必会 | 三、Shell 算术运算符,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
一、算术运算符
1.1 运算符
1.2 优先级
1.3 运算方法
1.3.1 expr 算术表达式
1.3.2 $[ 算术表达式 ]
1.3.3 $((算术表达式))
二、实例
2.1 * 、/ 和 %
2.2 + 和 -
2.3 == 和 !=
2.4 =
三、总结
Shell 在使用的过程中经常需要用到算术运算符,属于比较简单的一块,主要是记住运算方法,下面结合实例来说明下。
一、算术运算符
1.1 运算符
运算符 | 含义 |
---|---|
+ | 加法运算符 |
- | 减法运算符 |
* | 乘法运算符 |
/ | 除法运算符 |
% | 取余运算符 |
= | 赋值运算符 |
== | 判断相等运算符 |
!= | 判断不等于运算符 |
1.2 优先级
优先级 | 说明 |
---|---|
* 、/、% | 乘、除、取余 |
+、- | 加、减 |
==、!= | 相等、不等 |
= | 赋值 |
1.3 运算方法
默认情况下 Shell 中的运算都是看作字符串在操作,不会直接进行算术运算,但是,算术运算也有很多方法,这里介绍几种常用的方法,其中 a = 11:
1.3.1 expr 算术表达式
使用 expr 进行算术运算需要注意两个问题:
(1)运算符之间要有空格,例如:expr<空格>变量<空格>运算符,如下所示:
[root@localhost ~]# expr 2 + 3
5
[root@localhost ~]# expr2 + 3
bash: expr2: 未找到命令...
相似命令是: 'expr'
[root@localhost ~]# expr 2+3
2+3
[root@localhost ~]# expr 2+ 3
expr: 语法错误
[root@localhost ~]#
在上述计算中,只有第一个 expr 2 + 3 是计算正确的,不要忘记空格哦!
(2)乘法运算符使用 \*,乘法运算符前需要加 \,如下所示:
[root@localhost ~]# expr 2 * 3
expr: 语法错误
[root@localhost ~]# expr 2 \* 3
6
[root@localhost ~]#
1.3.2 $[ 算术表达式 ]
这种方法没有格式的限制,如下所示:
[root@localhost ~]# echo $[5+9]
14
[root@localhost ~]# echo $[ 5+9 ]
14
[root@localhost ~]# echo $[ 5 + 9 ]
14
[root@localhost ~]# a=11
[root@localhost ~]# echo $[ $a + 9 ]
20
[root@localhost ~]#
1.3.3 $((算术表达式))
这种方式和 $[算术表达式] 一样,如下所示:
[root@localhost ~]# echo $((5+9))
14
[root@localhost ~]# echo $((5 + 9))
14
[root@localhost ~]# echo $(( 5 + 9 ))
14
[root@localhost ~]# echo $(( $a * 9 ))
99
[root@localhost ~]#
二、实例
在以下实例中,a = 11, b = 10。
2.1 * 、/ 和 %
[root@localhost ~]# echo $[$a/$b]
1
[root@localhost ~]# echo $[$a%$b]
1
[root@localhost ~]# echo $[$a*$b]
110
[root@localhost ~]# echo $(($a/$b))
1
[root@localhost ~]# echo $((100/3))
33
[root@localhost ~]# echo $(($a/$b))
1
[root@localhost ~]# echo $((15%4))
3
[root@localhost ~]# expr $a \* $b
110
[root@localhost ~]# expr $a / $b
1
[root@localhost ~]# expr $a % $b
1
[root@localhost ~]#
注意:上面三个运算方法都只支持整数运算,关于带小数的运算会单独一篇文章讲解,同时也注意使用 expr 计算时,乘法运算符前需要加反斜杠转化。
2.2 + 和 -
[root@localhost ~]# echo $[$a+$b]
21
[root@localhost ~]# echo $[$a-$b]
1
[root@localhost ~]# echo $[$b-$a]
-1
[root@localhost ~]# echo $(($a+$b))
21
[root@localhost ~]# echo $((10-11))
-1
[root@localhost ~]# expr $a + $b
21
[root@localhost ~]# expr $b - $a
-1
[root@localhost ~]#
2.3 == 和 !=
运算符 == 和 != 在等式成立的时候返回1,不成立返回0,如下所示:
[root@localhost ~]# echo $[$a == $b]
0
[root@localhost ~]# echo $[$a != $b]
1
[root@localhost ~]# echo $(($a == $b))
0
[root@localhost ~]# echo $(($a != $b))
1
[root@localhost ~]# expr $a == $b
0
[root@localhost ~]# expr $a != $b
1
[root@localhost ~]#
2.4 =
赋值运算符就简单了,将赋值运算符右边计算的值赋值到左边的变量中,注意是变量哦!如下所示:
[root@localhost ~]# c=$(expr $a + $b)
[root@localhost ~]# echo $c
21
[root@localhost ~]# c=$(($a*$b))
[root@localhost ~]# echo $c
110
[root@localhost ~]# c=$(($a/$b))
[root@localhost ~]# echo $c
1
[root@localhost ~]# c=$[$a/$b]
[root@localhost ~]# echo $c
1
[root@localhost ~]#
注意:赋值运算符两边是没有空格的。
三、总结
算术运算符在使用的时候注意格式问题,还有就是一些运算方法只支持整数运算,感觉不错点赞支持下吧!关注我有跟多干货!
这篇关于Shell 必知必会 | 三、Shell 算术运算符的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!