在Shell腳本中,if語(yǔ)句可以使用邏輯運(yùn)算符進(jìn)行條件判斷。常見(jiàn)的邏輯運(yùn)算符包括&&
(邏輯與)、||
(邏輯或)和!
(邏輯非)。以下是這些運(yùn)算符的使用方法:
&&
):當(dāng)兩個(gè)條件都為真時(shí),結(jié)果為真。否則為假。if [ condition1 ] && [ condition2 ]; then
# 當(dāng)condition1和condition2都為真時(shí),執(zhí)行這里的代碼
fi
||
):當(dāng)兩個(gè)條件中至少有一個(gè)為真時(shí),結(jié)果為真。否則為假。if [ condition1 ] || [ condition2 ]; then
# 當(dāng)condition1和condition2中至少有一個(gè)為真時(shí),執(zhí)行這里的代碼
fi
!
):對(duì)一個(gè)條件取反,即如果條件為真,則結(jié)果為假;如果條件為假,則結(jié)果為真。if ! [ condition ]; then
# 當(dāng)condition為假時(shí),執(zhí)行這里的代碼
fi
示例:
#!/bin/bash
num1=10
num2=20
if [ $num1 -lt $num2 ] && [ $num2 -gt 15 ]; then
echo "num2大于num1且大于15"
elif [ $num1 -gt $num2 ] || [ $num2 -lt 10 ]; then
echo "num1大于num2或num2小于10"
else
echo "沒(méi)有滿足的條件"
fi
在這個(gè)示例中,我們比較了兩個(gè)數(shù)字num1
和num2
的大小關(guān)系,并根據(jù)不同的條件執(zhí)行相應(yīng)的代碼塊。