shell 常用的测试条件

shell测试条件,有三大类。关于文件的测试,关于字符的测试, 关于自然数的测试。通常用于判断。比如一个文件是否存在,或者是否有执行的权限。然后根据加判断的结果,再运行。shell有比较丰富的测试条件,使用这些测试条件,写脚本会更加方便,这里总结一下这些测试条件。

关于文件的测试条件

测试条件 含义
-d FILE 是否是目录
-f FILE 是否是普通文件
-w FILE 文件存在并且是否可以写
-s FILE 是否存在且非空
-e FILE 文件是否存在
-r FILE 是否有读的权限
-x FILE 是否有执行的权限
-h FILE 是否是链接文件

关于字符串的测试条件

测试条件 含义
-n STRING 字符串的长度非0
STRING1 = STRING2 字符串相等
-z STRING 字符串的长度等于0
STRING1 != STRING2 字符串不相等

关于自然数的判断

测试条件 含义
int1 -eq int2 相等为真
int1 -ne int2 不相等为真
int1 -gt int2 int1大于int2为真
int1 -lt int2 int1小于int2为真
int1 -ge int2 int1大于等于int2为真
int1 -le int2 int1小于等于int2为真

测试的示例

shell 测试测是可以使用 test 或者 [] (括号内部前后要有空格)

test -d /etc && echo "/etc is dir" || echo "/etc not dir"
test 1 -eq 1 && echo "1 = 1" || echo "1 != 1"
[ -e /etc/passwd ] && echo "Y" || echo "N"

发表评论

邮箱地址不会被公开。