格式:test condition 或 [ condition ]
返回值: 0,成功;1,失败 (可使用$?查询返回值)
一、文件状态测试
- -d 目录文件 -f 普通文件
- -L 符号链接 -e 文件存在
- -r 可读 -w 可写
- -u 有suid位 -x 可执行
- -s 文件长度大于0
二、逻辑操作符
- -a 与操作
- -o 或操作
- ! 非操作
三、字符串测试
- = 两字符串相等
- != 两字符串不等
- -z 空字符串
- -n 非空字符串
四、数值测试
- -eq 相等
- -ne 不等
- -gt >
- -ge >=
- -lt <
- -le <=
五、实例
# 文件测试 + 逻辑运算符
$ [ -w results.txt -a -w scores.txt ]
$ echo $?
0
# 字符串测试
$ [ -z $EDITOR ]
$ [ "$EDITOR" = "vi" ]
# 数值测试
$ [ "$NUM" -eq "130" ]
# shell编程中的数值其实都是字符串