不合格的程序猿
分类: 系统运维
2016-03-11 14:26:06
转自:http://blog.csdn.net/wangtaoking1/article/details/9327353
shell script中的常用判断语句有两种,分为是使用test和"[ ]"。
示例:
判断文件filename是否存在:
1. test -e filename; echo $?
2. [ -e filename ]; echo $?
“$?”该变量记录前一条命令的返回值,正常返回则为0。
常用的标志如下:
测试标志 代表意义
-e 文件名是否存在
-f 文件名是否存在且为文件
-d 文件名是否存在且为目录
-r 文件名是否存在且具有可读权限
-w 文件名是否存在且具有可写权限
-x 文件名是否存在且具有可执行权限
-s 文件名是否存在且为非空白文件
-nt 是否更新
-ot 是否更旧
-ef 是否为同一文件(例如快捷方式)
-eq 两数值相等
-gt 大于
-lt 小于
-ge 大于或等于
-le 小于或等于
-z 判断字符串是否为空
符合语句:
-a and
-o or
! 非
符合语句表示如下:
test -e filename1 -a -e filename2
[ -e filename1 -a -e filename2 ]
[ -e filename1 ] && [ -e filename2 ]