在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