Bourne Shell 的 if 語句和大部分編程語言一樣 - 檢測條件是否真實(shí),如果條件為真,shell 會執(zhí)行這個(gè) if 語句指定的代碼塊,如果條件為假,shell 就會跳過 if 代碼塊,繼續(xù)執(zhí)行之后的代碼。
if 語句的語法:
if [ 判斷條件 ]
then
command1
command2
……..
last_command
fi/p>
p>Example:/p>
p> #!/bin/bash
number=150
if [ $number -eq 150 ]
then
echo "Number is 150"
fi
if-else 語句:
除了標(biāo)準(zhǔn)的 if 語句之外,我們還可以加入 else 代碼塊來擴(kuò)展 if 語句。這么做的主要目的是:如果 if 條件為真,執(zhí)行 if 語句里的代碼塊,如果 if 條件為假,執(zhí)行 else 語句里的代碼塊。
語法:
if [ 判斷條件 ]
then
command1
command2
……..
last_command
else
command1
command2
……..
last_command
fi
Example:
#!/bin/bash
number=150
if [ $number -gt 250 ]
then
echo "Number is greater"
else
echo "Number is smaller"
fi
If..elif..else..fi 語句 (簡寫的 else if)
Bourne Shell 的 if 語句語法中,else 語句里的代碼塊會在 if 條件為假時(shí)執(zhí)行。我們還可以將 if 語句嵌套到一起,來實(shí)現(xiàn)多重條件的檢測。我們可以使用 elif 語句(else if 的縮寫)來構(gòu)建多重條件的檢測。
語法 :
if [ 判斷條件1 ]
then
command1
command2
……..
last_command
elif [ 判斷條件2 ]
then
command1
command2
……..
last_command
else
command1
command2
……..
last_command
fi
Example :
#!/bin/bash
number=150
if [ $number -gt 300 ]
then
echo "Number is greater"
elif [ $number -lt 300 ]
then
echo "Number is Smaller"
else
echo "Number is equal to actual value"
fi
多重 if 語句 :
If 和 else 語句可以在一個(gè) bash 腳本里相互嵌套。關(guān)鍵詞 “fi” 表示里層 if 語句的結(jié)束,所有 if 語句必須使用 關(guān)鍵詞 “fi” 來結(jié)束。
基本 if 語句的嵌套語法:
if [ 判斷條件1 ]
then
command1
command2
……..
last_command
else
if [ 判斷條件2 ]
then
command1
command2
……..
last_command
else
command1
command2
……..
last_command
fi
fi
Example:
#!/bin/bash
number=150
if [ $number -eq 150 ]
then
echo "Number is 150"
else
if [ $number -gt 150 ]
then
echo "Number is greater"
else
echo "'Number is smaller"
fi
fi