Linux Shell编程——常用判断式

TangLu 运维 2015-02-28 2895 0

在BASH脚本判断式中有两种表现方式,一个是test命令,一个是[ ]符号,通常使用的是[ ]符号

常用判断式如下:
-e  判断文件是否存在,如test -e filename或者[ -e filename ]

-f  判断文件是否存在且为普通文件,如[ -f filename ]

-d  判断文件是否存在且为目录,如[ -d filename ]

-b  判断文件是否存在,且为块设备,如[ -b filename ]

-L  判断文件是否存在,且为连接文件,如[ -L filename ]

-r  判断文件是否存在,且有可读权限

-w  判断文件是否存在,且可写权限

-x  判断文件是否存在,且可执行权限

-u  判断文件是否存在,且具有SUID属性

-g  判断文件是否存在,且具有SGID属性

-s  判断文件是否存在,且为 非空白文件

-nt  判断file1是否比file2新,[ filename1 -nt filename2 ]

-ot  判断file1是否比file2旧

-eq  判断两个数值是否相等,[ n1 -eq n2 ]

-ne  判断两个数值是否不相等

-gt  判断数值1是否大于数值2

-lt  判断数值1是否小于数值2

-ge  判断数值1是否大于等于数值2

-le  判断数值1是否小于等于数值2

-z  判断字符串是否为空,多用于判断变量是否有赋值

-n  判断字符串是否非空,多用于判断变量是否有赋值

=  判断两个数值是否相等
!=  判断两个数值是否不等

-a  逻辑与

-o  逻辑或

评论