(四)Shell条件判断
四、条件判断
1. [ condition ]——条件判断
condition前后要有空格
- 返回true:条件非空即为true,如[ str ]
- 返回false:条件为空,则返回false, 如[]
2. 整数比较
- = : 字符串比较
- -lt:小于(less than); -le:小于等于(less equal)
- -eq:等于(equal); -ne:不等于(not equal)
- -gt:大于(greater than); -ge:大于等于(greater equal)
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % [ 23 -ge 22 ]
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % echo $?
0
3. 文件权限比较
- -r:有读权限
- -w:有写权限
- -x:有执行权限
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % [ -w condition.sh ]
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % echo $?
0
4. 文件类型判断
- -f:文件存在并且是一个常规文件(file)
- -e:文件存在(existence)
- -d:文件存在并且是一个目录(directory)
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % [ -e ./condition.sh ]
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % echo $?
0
5. 空串判断
- -z :判断 string 是否是空串
if [ -n "$str" ]; then
fi
- -n :判断 string 是否是非空串