shell中经常会用到判断比较,每次都要现百度搜,今天闲来有空对其进行梳理、总结;供以后查用
判断比较分为三类:数值比较、字符串比较、文件比较
if [ ] 或者 test ----由于“【+空格 空格+】”涉及空格问题,建议使用test
(eg. test -d /backup || mkdir -v /backup)
1、数值比较
n1 -eq n2 检查n1和n2是否相等
n1 -ge n2 检查n1是都大于等于n2
n1 -gt n2 检查n1是否大于n2
n1 -le n2 检查n1是否小于或等于n2
n1 -lt n2 检查n1是否小于n2
n1 -ne n2 检查n1是否不等于n2
2、字符串比较
str1 = str2 检查str1是否和str2相同
str1 > str2 检查str1是否大于str2 (这里的‘>’前面要使用转译符\>,否则会被当做重定向
str1 < str2 检查str1是否小于str2
str1 != str2 检查str1是否和str2不同
-n str1 检查str1的长度是否非0
-z str1 检查str1的长度是否为0,如果为0则为真
3、文件比较
-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旧
注:如果对test条件取反的话加!,如 if test ! -f file ,文件不存在quzhen
阅读(525) | 评论(0) | 转发(0) |