天天看点

linux中shell条件表达式总结

1.字符串比较

! 取反

-n str     字符串 str 是否不为空

-z str     字符串 str 是否为空

str1  = str2     str1是否与 str2 相同

str1 != str2     str1是否与 str2 不同

2.数值大小比较

int1 -eq int2     等于

int1 -le  int2     小于等于

int1 -ge int2     大于等于

int1 -lt   int2     小于

int1 -gt  int2     大于

int1 -ne int2     不等于

3.文件属性判断

-b     是否块文件

-c     是否字符文件

-d     是否一个目录

-e     文件是否存在

-f     是否普通文件

-g     是否设置了文件的 sgid 位

-g     文件归本组所有

-h     是否符号连接与-l相同

-k     文件是否设置了的粘贴位

-o     是否为本用户所有

-p     文件是否为一个命名管道

-r     文件是否可读

-s     文件的长度是否不为零

-s     是否为套接字文件

-t fd     fd 是否在一个终端打开

-u     是否设置了文件的 suid 位

-w     文件是否可写

-x     文件是否可执行

4.文件关系比较

expr1 -a expr2     如果 expr1 和 expr2 为真,则为真

expr1 -o expr2     如果 expr1 或 expr2 为真,则为真

file1 -ef file2     file1和file2有同样的inode号

file1 -nt file2     file1比file2新

file1 -ot file2     file1比file2老

原贴地址:http://blog.csdn.net/trochiluses/article/details/8933958

继续阅读