1 比较运算符
(1) 数学比较运算
| -eq |
等于 |
| -gt |
大于 |
| -lt |
小于 |
| -ge |
大于或等于 |
| -le |
小于或等于 |
| -ne |
不等于 |
(2) 字符串比较
| == |
等于 |
| != |
不等于 |
| -n |
检查字符串的长度是否大于0 |
| -z |
检查字符串的长度是否为0 |
(3) 文件比较与检查
| -d |
检查文件是否存在, 且为目录 |
| -f |
检查文件是否存在, 且为文件 |
| -e |
检查目录或文件是否存在 |
| -r |
检查文件是否存在且可读 |
| -s |
检查文件是否存在且不为空 |
| -w |
检查文件是否存在且可写 |
| -x |
检查文件是否存在且可执行 |
| -O |
检查文件是否存在且被当前用户拥有 |
| -G |
检查文件是否存在且默认组为当前用户组 |
| file1 -nt file2 |
检查file1是否比file2新 |
| file1 -ot file2 |
检查file1是否比file2旧 |
(4) 逻辑运算
2 if 语法
if [ condition ]then commands1elif commands2else commands3fi


注意: then一定要写在下面
3 if 高级应用
条件符号
- []: Test和[]中可用的比较运算符只有=和!=,两者都是用于字符串比较的,不可用于整数比较,整数比较只能使用-eq,-gt这种形式
- (()): 它可以在条件中植入数学表达式, 通配符

