在shell中,if语句用于根据条件执行不同的操作。语法如下:
if [ 条件 ]; then
# 条件成立时执行的命令
else
# 条件不成立时执行的命令
fi
其中,条件可以是以下几种形式:
字符串比较:[ "$str1" == "$str2" ]
或 [ "$str1" != "$str2" ]
数值比较:[ $num1 -eq $num2 ]
(相等)、[ $num1 -ne $num2 ]
(不相等)、[ $num1 -lt $num2 ]
(小于)、[ $num1 -gt $num2 ]
(大于)、[ $num1 -le $num2 ]
(小于等于)、[ $num1 -ge $num2 ]
(大于等于)
文件判断:[ -f 文件路径 ]
(文件存在且是普通文件)、[ -d 目录路径 ]
(目录存在)、[ -e 文件路径 ]
(文件或目录存在)、[ -s 文件路径 ]
(文件存在且非空)、[ -r 文件路径 ]
(文件可读)、[ -w 文件路径 ]
(文件可写)、[ -x 文件路径 ]
(文件可执行)
示例:
if [ "$str1" == "$str2" ]; then
echo "字符串相等"
elif [ $num1 -gt $num2 ]; then
echo "num1大于num2"
else
echo "其他情况"
fi