test condition
或者
[ condition ]
二,文件测试
[ -e 文件名 ]:如果文件存在则为真
[ -r 文件名 ]:如果文件存在且可读则为真
[ -w 文件名 ]:如果文件存在且可写则为真
[ -x 文件名 ]:如果文件存在且可执行则为真
[ -s 文件名 ]:如果文件存在且至少有一个字符则为真
[ -d 文件名 ]:如果文件存在且为目录则为真
[ -f 文件名 ]:如果文件存在且为普通文件则为真
[ -c 文件名 ]:如果文件存在且为字符型特殊文件则为真
[ -b 文件名 ]:如果文件存在且为块特殊文件则为真
三,数值测试
[ $num1 -eq $num2 ]:等于则为真
[ $num1 -ne $num2 ]:不等于则为真
[ $num1 -gt $num2 ]:大于则为真
[ $num1 -ge $num2 ]:大于等于则为真
[ $num1 -lt $num2 ]:小于则为真
[ $num1 -le $num2 ]:小于等于则为真
四,字符串测试
[ "$s1"="$s2" ]:等于则为真
[ "$s1"!="$s2" ]:不相等则为真
[ -z "$string" ]:字符串长度伪则为真
[ -n "$string" ]:字符串长度不伪则为真
[ "$string" ]: string有东西就返回true
五,逻辑运算符,用于测试条件连接
Linux提供了与("-a")、或("-o")、非("!")三个逻辑操作符用于将测试条件连接起来,其优先级为:"!"最高,"-a"次之,"-o"最低
[ ! -f "testfile" -o ! -r "testfile" ]