在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