shell脚本(7):运算符
Bash 支持很多运算符,其中包括:算数运算符、关系运算符、逻辑运算符和字符串运算符。
1.算数运算符
+ 表示“加”
- 表示“减”
* 表示“乘”,linux里*是模糊匹配,在双引号需要用/ 转译
/ 表示“除”
% 表示“取余”,
= 表示“赋值 ”
== 表示“等号 ”,判断两个数字是否相等,相等则返回true
!= 表示“不等 ”,判断两个数字是否相等,不相等则返回true
注意:
1)expr可计算数字表达式,如expr $a +$b
2) 表达式里,运算符左右两侧需要空格
3)``可执行表达式, 并返回计算结果(在ESC键下面)
2.关系运算符
上一篇提到双方括号,当然我们也见到较多的方括号,圆括号;它们在使用上区别如下:
[] [[]]或(()) 注意
-lt < 使用<前面需要加/进行转译
-le <=
-gt > 使用>前面需要加/进行转译
-ge >=
-eq ==
-nq !=
3、逻辑运算符
我们熟知的包括与、或、非;
[] [[]]或(()) 注意
-a && 使用<前面需要加/进行转译
-o II
! ! 使用>前面需要加/进行转译
4、字符串运算符
= 检测两个字符串是否相等,相等则返回true
!= 检测两个字符串是否相等,不相等则返回true
-z 检测字符串长度是否为0,为0则返回true
-n 检测字符串长度是否为0,不为0则返回true
str 检测字符串是否为null,不为null则返回true
5、小结
算术运算符、关系运算符只支持数字;字符串运算符只支持字符;逻辑运算符则支持多个表达式的比较。