test 命令提供了在 if-then 语句中测试不同条件的途径。
if test condition
then
commands
fi
if [ condition ]
then
commands
fi
数值比较
比较 |
描述 |
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 旧 |