Shell if else語句(詳解版)

1、if 語句

最簡單的用法就是只使用 if 語句,它的語法格式為:

if  condition
then
    statement(s)
fi

condition是判斷條件,如果 condition 成立(返回“真”),那么 then 后邊的語句將會被執(zhí)行;如果 condition 不成立(返回“假”),那么不會執(zhí)行任何語句。
注意,最后必須以fi來閉合,fi 就是 if 倒過來拼寫。也正是有了 fi 來結(jié)尾,所以即使有多條語句也不需要用{ }包圍起來。
如果你喜歡,也可以將 then 和 if 寫在一行:

if  condition;  then
    statement(s)
fi

請注意 condition 后邊的分號;,當(dāng) if 和 then 位于同一行的時候,這個分號是必須的,否則會有語法錯誤。

例如,使用 if 語句來比較兩個數(shù)字的大?。?/p>

#!/bin/bash
read a
read b
if (( $a == $b ))
then
    echo "a和b相等"
fi

運行結(jié)果:

84↙
84↙
a和b相等

2、if else 語句

如果有兩個分支,就可以使用 if else 語句,它的格式為:

if  condition
then
   statement1
else
   statement2
fi

如果 condition 成立,那么 then 后邊的 statement1 語句將會被執(zhí)行;否則,執(zhí)行 else 后邊的 statement2 語句。

例如:

#!/bin/bash
read a
read b
if (( $a == $b ))
then
    echo "a和b相等"
else
    echo "a和b不相等,輸入錯誤"
fi

運行結(jié)果:

10↙
20↙
a 和 b 不相等,輸入錯誤

從運行結(jié)果可以看出,a 和 b 不相等,判斷條件不成立,所以執(zhí)行了 else 后邊的語句。

3、if elif else 語句

Shell 支持任意數(shù)目的分支,當(dāng)分支比較多時,可以使用 if elif else 結(jié)構(gòu),它的格式為:

if  condition1
then
   statement1
elif condition2
then
    statement2
elif condition3
then
    statement3
……
else
   statementn
fi

注意,if 和 elif 后邊都得跟著 then。
整條語句的執(zhí)行邏輯為:
如果 condition1 成立,那么就執(zhí)行 if 后邊的 statement1;如果 condition1 不成立,那么繼續(xù)執(zhí)行 elif,判斷 condition2。
如果 condition2 成立,那么就執(zhí)行 statement2;如果 condition2 不成立,那么繼續(xù)執(zhí)行后邊的 elif,判斷 condition3。
如果 condition3 成立,那么就執(zhí)行 statement3;如果 condition3 不成立,那么繼續(xù)執(zhí)行后邊的 elif。
如果所有的 if 和 elif 判斷都不成立,就進(jìn)入最后的 else,執(zhí)行 statementn。

例如,,輸入年齡,輸出對應(yīng)的人生階段:

#!/bin/bash
read age
if (( $age <= 2 )); then
    echo "嬰兒"
elif (( $age >= 3 && $age <= 8 )); then
    echo "幼兒"
elif (( $age >= 9 && $age <= 17 )); then
    echo "少年"
elif (( $age >= 18 && $age <=25 )); then
    echo "成年"
elif (( $age >= 26 && $age <= 40 )); then
    echo "青年"
elif (( $age >= 41 && $age <= 60 )); then
    echo "中年"
else
    echo "老年"
fi

運行結(jié)果1:

19
成年

運行結(jié)果2:

100
老年
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容