Shell中各种判断语法

Shell判断

按照文件类型进行判断

-b 判断文件是否存在,并且是否为快设备文件(是块设备文件为真)
-c 判断文件是否存在,并且是否为字符设备文件(是字符设备文件为真)
-d 判断文件是否存在,并且是否为目录文件(是目录为真)
-e 判断文件是否存在,存在为真
-f 判断文件是否存在,并且是否为普通文件(存在为真)
-L 判断文件是否存在,并且是否为符号链接文件(是符号链接文件为真)
-p 判断文件是否存在,并且是否为管道文件(是管道文件为真)
-s 判断文件是否存在,并且是否为空(非空为真)
-S 判断文件是否存在,并且是否为套接字文件(是套接字文件为真)

按照文件权限进行判断

-r 判断文档是否有读权限
-w 判断是否有写权限
-x 判断是否可执行

两个文件之间的比较

文件1 -nt 文件2 判断文件1的修改时间是否比文件2的新(如果新为真)
文件1 -ot 文件2 判断文件1的修改时间是否比文件2的旧(如果旧为真)
文件1 -ef 文件2 判断文件1是否和文件2的inode号一致,可以理解为两个文件是否为同一个文件,这个判断是判断硬链接的最好方法

两个整数之间的比较

-eq 判断两个数值是否相等
-ne 判断两个数值是否不相等
-gt 判断是否大于
-lt 判断是否小于
-ge 判断是否大于等于
-le 判断是否小于等于

字符串之间的判断

-z 判断字符串是否为空
-n 判断字符串是否为非空
字符串1 == 2 判断字符串1是否和字符串2相等
字符串1 != 2 判断字符串1是否和字符串2不相等

多重条件判断

判断1 -a 判断2 逻辑与,判断1和判断2都成立,最终结果为真
判断1 -o 判断2 逻辑或,判断1和判断2有一个成立,结果为真
!判断 逻辑非 使原始的判断式取反
注:本文章仅此对自己以后学习参考

posted @ 2017-06-16 14:11  于欢水  阅读(1919)  评论(0编辑  收藏  举报