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 ] | 判断该文件是否存在 |