1. 条件测试格式
if [ condition ]
then
commands
fi
if [ condition1 ] && [ condition2 ]
then
commands
fi
if [ condition1 ] || [ condition2 ]
then
commands
fi
2. 条件测试种类
3. 数值比较
- n1 -eq n2 检查n1是否与等于n2
- n1 -ne n2 检查n1是否不等于n2
- n1 -ge n2 检查n1是否大于等于n2
- n1 -gt n2 检查n1是否大于n2
- n1 -le n2 检查n1是否小于等于n2
- n1 -lt n2 检查n1是否小于n2
4. 字符串比较
- str1 = str2 检查str1是否和str2相同
- str1 != str2 检查str1是否和str2不同
- str1 < str2 检查str1是否比str2小
- str1 > str2 检查str1是否比str2大
- -n str1 检查str1的长度是否非0
- -z str1 检查str1的长度是否为0
5. 文件比较
- -d file 检查file是否存在并且是一个目录
- -e file 检查file是否存在
- -f file 检查file是否存在并且是一个文件
- -r file 检查file是否存在并且可读
- -s file 检查file是否存在并非空
- -w file 检查file是否存在并且可写
- -x file 检查file是否存在并且可执行
- -O file 检查file是否存在并属当前用户所有
- -G file 检查file是否存在并且默认组与当前用户相同
- file1 -nt file2 检查file1是否比file2新
- file1 -ot file2 检查file1是否比file2旧