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