Shell常用比较符,判断文件、文件夹类型和是否存在
if [ -e $FILE ];then
echo "file exists"
else
echo "file not exists"
fi
文件比较运算符:
-e 判断对象是否存在,是返回true
-d 判断是否为目录
-f 判断是否为常规文件
-c 判断是否为特殊字符文件
-s 判断是否长度不为0
-L 判断是否为符号链接
-h 判断是否为软链接
-r 判断是否可读
-w 判断是否可写
-x 判断是否可执行
-O 判断是否属于当前用户
-G 判断是否属于当前用户组
-nt 判断file1是否比file2新 [ "/data/file1" -nt "/data/file2" ]
-ot 判断file1是否比file2旧 [ "/data/file1" -ot "/data/file2" ]
字符串比较运算符:
-z 判断字符串长度是否为0,为0返回true
-n 判断字符串长度是否不为0
= 判断两个字符串是否相等相同
!= 判断两个字符串是否相等不同
str 字符串长度是否为0
算数比较运算符:
-eq 等于
-ne 不等于
-lt 小于
-le 小于等于
-gt 大于
-ge 大于等于
布尔运算符
! 非, 正确返回true
-a 与
-o 或