Shell 编程中条件判断命令

shell 脚本编程中会广泛使用 [ 或 test 命令判断真假。在一些系统上这两个命令的作用是相同的。为了增强可读性,当使用 [ 命令时,我们还会使用符号 ] 来结尾。在使用 [ 命令时,  [ 命令和检查条件之间必须留出空格

test 命令可以使用的条件类型:

    可以使用的条件类型归为 3 类:字符串比较、算术和 文件测试

字符串比较  结果
string1 = string2 如果两个字符串相同,则结果为真
string1 != string2 如果两个字符串不相同,则结果为真
-n string 如果字符串不为空,则结果为真
-z string 如果字符串为空,则结果为真
算术比较   结果
 a -eq b 如果两个表达式相等,则结果为真
a -ne b 如果两个表达式不相等,则结果为真
a -gt b     如果a 大于 b ,则结果为真
a -ge b 如果 a 大于等于b,则结果为真
a -lt b 如果 a 小于b,则结果为真
a -le b 如果a 小于等于 b,则结果为真
! a 如果a 为假,则结果为真
文件条件测试 结果
-d file  如果 file 为目录,则结果为真
-e file 如果file 存在,则结果为真。注意:历史上 -e 选项是不可移植的,所以通常使用 -f 选项代替。
-f file 如果 file 是一个普通文件,则结果为真
-g file 如果 file 的set-group-id 为被设置则结果为真

-r file

如果 file 文件为可读,则结果为真
-s  file  如果file 大小不为0,则结果为真
-u file  如果 file 的set-user-di 位被设置,则结果为真
-w file 如果 file 可写,则结果为真
-x file  如果 file 可执行,则结果为真

set-user-id: 授予程序拥有者的访问权限

set-group-id: 授予程序所在组的访问权限,

这两个特殊位是通过 chmod 命令选项 s 和 g 设置的,对 shell 脚本不起作用,只对可执行二进制文件起作用。

你可能感兴趣的:(linux)