在Linux中,test
命令(也称为[
和]
)用于进行条件判断
数值比较:
-eq
:等于-ne
:不等于-gt
:大于-ge
:大于等于-lt
:小于-le
:小于等于字符串比较:
=
:等于!=
:不等于-z
:字符串长度为零-n
:字符串长度不为零文件测试:
-e
:文件存在-d
:文件是目录-f
:文件是普通文件-r
:文件可读-w
:文件可写-x
:文件可执行示例:
# 检查一个数是否大于10
if [ $num -gt 10 ]; then
echo "Number is greater than 10"
fi
# 检查一个字符串是否为空
if [ -z "$str" ]; then
echo "String is empty"
else
echo "String is not empty"
fi
# 检查一个文件是否存在
if [ -e "file.txt" ]; then
echo "File exists"
else
echo "File does not exist"
fi
注意:在条件表达式中,建议使用双括号[[ ]]
,因为它比单括号[ ]
更强大且易于使用。例如:
if [[ $num -gt 10 ]]; then
echo "Number is greater than 10"
fi