Shell 中的 if 語句用于根據一個或多個條件執行特定的代碼塊
判斷條件:首先,Shell 會計算 if 語句中的條件表達式。這個表達式可以是一個比較操作(如 a == b)、一個命令的返回值(如 command1)或者一個邏輯表達式(如 !a 或 a && b)。
執行代碼塊:如果條件表達式的結果為真(非零值),那么 Shell 將執行 if 語句中的代碼塊。這個代碼塊通常包含在花括號 {} 或者單獨的一對 then 和 fi 關鍵字之間。
判斷 else 分支:如果條件表達式的結果為假(零值),Shell 將檢查是否存在 else 分支。如果存在 else 分支,Shell 將執行 else 分支中的代碼塊。
判斷 elif 分支:如果有多個條件需要判斷,可以使用 elif 分支。Shell 會按照順序檢查每個 elif 分支的條件表達式。如果某個條件表達式的結果為真,Shell 將執行對應的代碼塊,并跳過后續的 elif 和 else 分支。
結束 if 語句:無論哪個分支被執行,Shell 都會在遇到 fi 關鍵字時結束 if 語句。
下面是一個簡單的 if 語句示例:
if [ $a -eq $b ]; then
echo "a is equal to b"
elif [ $a -gt $b ]; then
echo "a is greater than b"
else
echo "a is less than b"
fi
在這個示例中,首先判斷變量 a 是否等于變量 b。如果相等,輸出 “a is equal to b”;如果 a 大于 b,輸出 “a is greater than b”;否則,輸出 “a is less than b”。