数值比较
格式: 数值1 -lt 数值2
-lt
:小于
-gt
:大于
-le
:小于等于
-ge
:大于等于
-eq
:等于
-ne
:不等于
例子:
a=12
b=10
if [ $a -lt $b ]
then
echo "小于"
else
echo "大于或等于"
fi
结果
大于或等于
文件比较
linux下文件夹和文件都称为文件
-d
:判断文件是否存在且为文件夹
-f
:判断文件是否存在且为文件
-e
:判断文件是否存在
-r
:判断文件是否存在且可读
-w
:判断文件是否存在且可写
-x
:判断文件是否存在且可执行
…还有很多
格式:-d file
例子
if [ -f "./file.sh" ]
then
echo "file.sh文件存在"
else
echo "file.sh文件不存在"
fi
file1 -nt file2
:比较file1是否比file2新
file1 -ot file2
:比较file1是否比file2旧
创建两个文件:
if [ "./file1" -nt "./file2" ]
then
echo "file1比file2新"
else
echo "file1比file2旧"
fi
file1先创建,创建时间比file2早,就比file2旧
file1比file2旧
字符串比较
str1 == str2
:比较两个字符串相等
str1 != str2
:比较两个字符串不相等
-n str
:判断字符串的长度是否大于0
-z str
:判断字符串的长度是否等于0(空格也算字符
)
if [ -n "" ]
then
echo "'abcd'长度大于0"
else
echo "'abcd'长度不大于0"
fi
结果:
'abcd'长度不大于0
if [ -n " " ]
then
echo "'abcd'长度大于0"
else
echo "'abcd'长度不大于0"
fi
结果
'abcd'长度大于0