在shell腳本中,if語(yǔ)句用于根據(jù)條件判斷來(lái)執(zhí)行不同的代碼塊。if語(yǔ)句的基本語(yǔ)法如下:
if [ condition ]
then
# code block to be executed if condition is true
else
# code block to be executed if condition is false
fi
其中,condition
是一個(gè)條件表達(dá)式,可以使用各種比較運(yùn)算符、邏輯運(yùn)算符和文件測(cè)試操作符來(lái)構(gòu)建條件。then
關(guān)鍵字表示如果條件為真,則執(zhí)行接下來(lái)的代碼塊。else
關(guān)鍵字表示如果條件為假,則執(zhí)行接下來(lái)的代碼塊。fi
關(guān)鍵字表示if語(yǔ)句的結(jié)束。
以下是一些常見(jiàn)的條件表達(dá)式示例:
檢查兩個(gè)值是否相等:if [ $var1 -eq $var2 ]
檢查一個(gè)值是否大于另一個(gè)值:if [ $var1 -gt $var2 ]
檢查一個(gè)文件是否存在:if [ -f $file ]
檢查一個(gè)目錄是否存在:if [ -d $dir ]
以下是一個(gè)完整的示例:
#!/bin/bash
num1=10
num2=20
if [ $num1 -gt $num2 ]
then
echo "$num1 is greater than $num2"
else
echo "$num1 is less than or equal to $num2"
fi
上述示例中,$num1
的值大于$num2
,因此if語(yǔ)句的條件為假,執(zhí)行else代碼塊,輸出10 is less than or equal to 20
。