shell程式設計 十一 case條件語句

2021-09-26 18:36:26 字數 2372 閱讀 6703

一    case條件語句

1)case語句相當於'多分支'的'if/elif/else'條件語句

2)用於實現'系統服務啟動指令碼'的場景

①語法

case "字串變數" in

值1) 指令1...

;;值2) 指令2...

;;*) 指令3...

esac

jira服務

③ 需求1

根據'使用者的輸入'判斷是否是'數字',如果使用者'輸入數字輸'出對應'輸入'的數字,如果是'其他內容返回'不正確
#!/bin/bash

#(1)健壯和友好

usage()

#(2)根據輸入的數字[0-9]的一位數字輸出相應的數字

case_fun()

#(3)判斷引數的個數

main()

main $*

④  需求2

執行指令碼列印乙個'水果選單':

2、pear

3、banana

4、cherry

當使用者'選擇水果'的時候,'列印'選擇水果是什麼,並給水果單詞'加上顏色'

具體

#!/bin/bash

# 顏色預定義

red='\e[1;31m'

green='\e[1;32m'

yellow='\e[1;33m'

blue='\e[1;34m'

pink='\e[1;35m'

res='\e[0m'

# 說明:閃爍警告

flicker='\e[31;5m'

usage()plesae select the exist num behind. $"

exit 1

}choice()pear$"

;;3) echo -e "$banana$"

;;4) echo -e "$cherry$"

;;*) usage

esac

}main()

#(1)先列印選單-->echo或者cat兩種方式

echo "

2、pear

3、banana

4、cherry"

#(2)提示使用者輸入

read -t 10 -p "pls input a num:" num

main $num

# 說明:後續可以寫成乙個迴圈-->while true :5 exit

小結

case總結:

1、case語句就相當於'多分支'的if語句,case語句優勢是更'規範'、'易讀'

2、case語句適合'變數的值少(變數值離散)',且為'固定'的數字或字串集合-->(start、'stop'、restart)

3、系統服務啟動'指令碼傳參'的判斷多用case語句

三   顏色補充

幫助文件:'man console_codes'
①  純色

echo -e "\033[30m 黑色 \033[0m"

echo -e "\033[31m 紅色 \033[0m"

echo -e "\033[32m 綠色 \033[0m"

echo -e "\033[33m 黃色 \033[0m"

echo -e "\033[34m 藍色 \033[0m"

echo -e "\033[35m 紫色 \033[0m"

echo -e "\033[36m 天藍色 \033[0m"

echo -e "\033[37m 白色 \033[0m"

②  混色

echo -e "\033[40;37m 黑底白字 \033[0m"

echo -e "\033[41;37m 紅底白字 \033[0m"

echo -e "\033[42;37m 綠底白字 \033[0m"

echo -e "\033[43;37m 黃底白字 \033[0m"

echo -e "\033[44;37m 藍底白字 \033[0m"

echo -e "\033[45;37m 紫底白字 \033[0m"

echo -e "\033[46;37m 天藍底白字 \033[0m"

echo -e "\033[47;30m 白底黑字 \033[0m"

# 背景和字型顏色!

不錯的顏

linux系統shell程式設計case條件測試語句

case語句是在多個範圍匹配的資料,若匹配成功呢則執行相關命令並結束整條命令,若資料不在所列出的範圍內則會執行 號中所定義的預設命令。下面我們來看一下它的語法結構。case 變數值 in 模式1 命令序列1 模式2 命令序列1 預設命令序列 esac 下面呢,我們還是老樣子,寫乙個例項來演示一下ca...

shell程式設計 case語句

case語句格式 vi test.sh echo input read num echo the input data is num case num in 1 echo january 雙分號結束 2 echo feburary 5 echo may 每個case可以有多條命令 echo sdfd...

shell程式設計 case語句

case語句格式 vi test.sh echo input read num echo the input data is num case num in 1 echo january 雙分號結束 2 echo feburary 5 echo may 每個case可以有多條命令 echo sdfd...