1.算术运算符
+ | `$a + $b` |
- | `$a - $b` |
* | `$a \* $b` |
/ | `$a / $b` |
% | `$a % $b` |
= | 赋值,a=$b |
== | 相等,[ $a == $b ] |
!= | 不相等,[ $a != $b ] |
条件表达式要放在方括号之间,并且要有空格,例如: [$a==$b] 是错误的,必须写成 [ $a == $b ]。
2.关系运算符
-eq | 相等,[ $a -eq $b ] |
-ne | 不等于,[ $a -ne $b ] |
-gt | 大于,[ $a -gt $b ] |
-ge | 大于等于,[ $a -ge $b ] |
-lt | 小于,[ $a -lt $b ] |
-le | 小于等于,[ $a -le $b ] |
3.布尔运算符
! | 非,[ ! false ] |
-o | 或,[ $a -gt 1 -o $b -gt 1 ] |
-a | 且,[ $a -gt 1 -0 $b -gt 1 ] |
4.逻辑运算符
&& | [[ $a -gt 1 && $b -gt 1 ]] |
|| | [[ $a -gt 1 || $b -gt 1 ]] |
5.字符串运算符
= | 是否相等,相等返回true | [ $a = $b ] |
!= | 是否相等,不相等返回true | [ $a != $b ] |
-z | 长度是否为0,为0返回true | [ -z $a ] |
-n | 长度是否为0,不为0返回true | [ -n $a ] |
str | 是否为空,不为空返回true | [ $a ] |
6.文件测试运算符
测试文件的设备类型 | -b 块设备,-c 字符设备 |
测试文件的类型 | -d 目录,-f 文件 |
测试文件的权限 | -f 读,-w 写,-x 执行 |
测试文件是否为空 | -s 内容不为空,e 文件目录存在 |