shell中的条件测试
参数 | 作用 |
[ -e filepath ] | 判断文件(夹)是否存在 |
[ -f filepath ] | 判断文件是否存在 |
[ -d filepath ] | 判断文件夹是否存在 |
[ -r file ] | 判断当前用户对该文件是否有读的权限(同理,有-w,-x) |
[ -L file ] |
2.数值比较[ $num1 参数 $num2 ]
参数 | 效果 |
-eq | equal,等于 |
-lt | less than,小于 |
-gt | great than,大于 |
-ge | great than or equal,大于等于 |
-le | less than or equal, 小于等于 |
-ne | not equal ,不等于 |
3.字符串比较
比较时变量最好加上双引号,否则在某些情况下会出错
参数 | 作用 |
[ “$str1” = “$str2”] | str1与str2是否相同 |
[ “$str1” == “$str2” ] | 与=效果相同 |
[ -z “$str1” ] | str1的长度是否0 |
[ -n “$str2” ] | str2的长度是否不为0 |
4.文件的条件测试
命令格式 | 作用 |
[ -d $file ] | 判断是否是目录 |
[ -f $file ] | 判断是否是文件 |
[ -r $file ] | 判断该用户是否有读权限 |
[ -w $file ] | 判断该用户是否有写权限 |
[ -x $file ] | 判断该用户是否有执行权限 |
[ -s $file ] | 判断该文件是否是空文件 |
[ -e $file ] | 判断该文件是否存在 |