Shell 比较符号
一般有三类比较:
数值比较
| 比较 |
描述 |
| n1 -eq n2 |
n1是否等于n2 |
| n1 -ge n2 |
n1是否大于或等于n2 |
| n1 -gt n2 |
n1是否大于n2 |
| n1 -le n2 |
n1是否小于或等于n2 |
| n1 -lt n2 |
n1是否小于n2 |
| n1 -ne n2 |
n1是否不等于n2 |
字符串比较
| 比较 |
描述 |
| str1 = str2 |
str1是否和str2相同 |
| str1 != str2 |
str1是否和str2不同 |
| str1 < str2 |
str1是否比str2小 |
| str1 > str2 |
str1是否比str2大 |
| -n str1 |
str1的长度是否非0 |
| -z str1 |
str1的长度是否为0 |
文件比较
| 比较 |
描述 |
| -d file |
file是否存在并是一个目录 |
| -e file |
file是否存在 |
| -f file |
file是否存在并是一个文件 |
| -r file |
file是否存在并可读 |
| -s file |
file是否存在并非空 |
| -w file |
file是否存在并可写 |
| -x file |
file是否存在并可执行 |
| -O file |
file是否存在并属当前用户所有 |
| -G file |
file是否存在并且默认组与当前用户相同 |
| file1 -nt file2 |
file1是否比file2新 |
| file1 -ot file2 |
file1是否比file2旧 |
参考
- 《Linux命令行与shell脚本编程大全》第3版