從零開(kāi)始學(xué)習(xí)Linux(四十八):Shell編程之流程控制case語(yǔ)句

1、多分支case條件語(yǔ)句

case語(yǔ)句和if…elif…else語(yǔ)句一樣都是多分支條件語(yǔ)句,不過(guò)和if多分支條件語(yǔ)句不同的是,case語(yǔ)句只能判斷一種條件關(guān)系。

命令格式如下所示:

case $變量名 in 
    "值1")
        如果變量的值等于值1,則執(zhí)行程序1 
    ;; 
    "值2") 
        如果變量的值等于值2,則執(zhí)行程序2 
    ;; 
...省略其他分支... *) 
        如果變量的值都不是以上的值,則執(zhí)行此程序
        ;; 
esac 

2、使用case編寫(xiě)shell腳本

編寫(xiě)腳本實(shí)現(xiàn)功能:當(dāng)輸入1-7的時(shí)候,分別顯示選擇的是星期一、星期二、星期三、星期四、星期五、星期六、星期日。當(dāng)輸入的時(shí)候其他的時(shí)候,顯示輸入錯(cuò)誤。

#!/bin/bash

#當(dāng)輸入1-7的時(shí)候,分別顯示選擇的是星期一到星期日。
#當(dāng)輸入的時(shí)候其他的時(shí)候,顯示輸入錯(cuò)誤

read -p "請(qǐng)輸入一個(gè)數(shù)字1-7:" -t 30 input

case $input in
        "1")
                echo "你選擇的是星期一!!!"
        ;;
        "2")
                echo "你選擇的是星期二!!!"
        ;;
        "3")
                echo "你選擇的是星期三!!!"
        ;;
        "4")
                echo "你選擇的是星期四!!!"
        ;;
        "5")
                echo "你選擇的是星期五!!!"
        ;;
        "6")
                echo "你選擇的是星期六!!!"
        ;;
        "7")
                echo "你選擇的是星期日!!!"
        ;;
        *)
                echo "輸入信息錯(cuò)誤"
        ;;
esac

給腳本casedemo.sh賦予執(zhí)行權(quán)限,執(zhí)行命令:

chmod 755 casedemo.sh

執(zhí)行腳本,輸出結(jié)果如下圖所示:

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

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

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