shell if 如何處理多條件邏輯

小樊
81
2024-10-09 09:55:36

在Shell腳本中,可以使用if語(yǔ)句來(lái)處理多條件邏輯

  1. 使用雙豎線||表示“或”關(guān)系。如果第一個(gè)條件為真,則不檢查第二個(gè)條件,直接執(zhí)行后面的命令。只有當(dāng)?shù)谝粋€(gè)條件為假時(shí),才會(huì)檢查第二個(gè)條件。

示例:

num=10

if [ $num -lt 5 ] || [ $num -gt 20 ]; then
  echo "Number is out of range."
else
  echo "Number is within range."
fi

在這個(gè)示例中,如果num小于5或大于20,將輸出"Number is out of range.“,否則輸出"Number is within range.”。

  1. 使用單豎線|表示“或”關(guān)系,但需要將條件用雙括號(hào)(( ))括起來(lái)。這樣可以確保正確的運(yùn)算符優(yōu)先級(jí)。

示例:

num=10

if (( num < 5 || num > 20 )); then
  echo "Number is out of range."
else
  echo "Number is within range."
fi

這個(gè)示例與上一個(gè)示例的功能相同。

  1. 使用大括號(hào){}來(lái)明確指定條件的范圍,這樣可以提高代碼的可讀性。

示例:

num=10

if { (( num < 5 )) || (( num > 20 )); }; then
  echo "Number is out of range."
else
  echo "Number is within range."
fi

這個(gè)示例與第一個(gè)示例的功能相同。

0