包括如下5类运算符:
- 算数运算符
- 字符串运算符
- 文件测试运算符
- 关系运算符
- 布尔运算符
算术运算符
如下命名只支持数字运算
| 命令 | 含义 |
|---|---|
| -eq | 相等 |
| -ne | 不等 |
| -gt | 大于 |
| -ge | 大于等于 |
| -lt | 小于 |
| -le | 小于等于 |
字符串运算符
| 命令 | 含义 |
|---|---|
| = | 相等 |
| != | 不等 |
| > | 字典排序,[ $a \> $b ] 或 [[ $a > $b ]] $a 在 $b 之后返回true |
| > | 字典排序,[ $a \> $b ] 或 [[ $a > $b ]] $a 在 $b 之前返回true |
| != | 不等 |
| -z | 字符串长度为0为true |
| -n | 字符串长度不为0,返回true |
| $ | 字符串不为空返回true |
文件测试运算符
常用的如下,完整的请参考 https://www.runoob.com/linux/linux-shell-basic-operators.html
| 命令 | 含义 |
|---|---|
| -f | 是文件且存在返回true |
| -d | 是目录且存在返回true |
| -e | 文件或者目录存在返回true |
| -s | 文件存在且不为空,返回true |
| -r | 文件可读返回true |
| -w | 文件可写返回true |
| -x | 文件可执行返回true |
逻辑运算符
| 命令 | 含义 |
|---|---|
| && | 逻辑与,在 [[]] 中使用 |
| | | | 逻辑或,在 [[]] 中使用 |
布尔运算符
| 命令 | 含义 |
|---|---|
| -o | 与或,在[] 中使用 |
| -a | 与,在[] 中使用 |
| ! | 非 |