在Shell腳本中,可以使用if語句來進行條件判斷和分支執行。if語句的一般語法如下:
if [ condition ]
then
# 執行語句
else
# 執行語句
fi
其中,condition
是一個條件表達式,可以是比較運算符(如-eq
、-ne
、-lt
、-gt
、-le
、-ge
等)、邏輯運算符(如-a
、-o
、!
等)、文件測試運算符(如-d
、-f
、-r
、-w
、-x
等)的組合,或者是調用命令返回值(如$?
)等。
在if語句中,如果condition
為真,則執行then
后面的語句塊;如果condition
為假,則執行else
后面的語句塊。then
和else
之后的語句塊可以是一個或多個命令、語句或代碼塊。
另外,if語句還可以嵌套使用,例如:
if [ condition1 ]
then
# 執行語句
if [ condition2 ]
then
# 執行語句
else
# 執行語句
fi
else
# 執行語句
fi
上述代碼中,根據condition1
的結果,決定執行哪個分支;在某個分支中,又根據condition2
的結果,決定執行哪個子分支。
需要注意的是,if語句中的條件判斷一般使用方括號括起來,并且括號前后需要有空格。另外,if語句的每一行必須以關鍵字if
、then
、else
、fi
等開頭,且這些關鍵字必須和if
、then
、else
、fi
所在行的開始位置對齊。
下面是一個示例,演示了if語句的使用方法:
#!/bin/bash
# 判斷某個數是否大于10
num=15
if [ $num -gt 10 ]
then
echo "Number is greater than 10."
else
echo "Number is less than or equal to 10."
fi
運行上述腳本,將輸出:
Number is greater than 10.