case語句和判斷語句[if...elif...else]功能相似;
當在邏輯判斷比較簡單的狀況下,比後者的代碼量要少量多.
case用法,用變量來匹配某值,若是匹配成功則執行它下面的命令,直到 ;;爲止git
case語句結構特色以下:bash
case行尾必須爲單詞 in 每一個模式必須以右括號 ) 結束blog
雙分號 ;; 表示命令序列結束
case語句結構特色以下:
匹配模式中但是使用方括號表示一個連續的範圍,如[0-9];使用豎槓符號「|」表示或。
最後的「*)」表示默認模式,當使用前面的各類模式均沒法匹配該變量時,將執行「*)」後的命令序列。it
語法:io
case "變量" infunction
"變量1")變量
...語法
;; #輸出兩個分號im
"變量2")img
...
;; #輸出兩個分號
"變量3")
...
;; #輸出兩個分號
*)
...
;; #輸出兩個分號
esac
實例一、輸入不一樣數字,獲得不一樣結果(多個條件能夠用"|"分隔開)
實例二、由用戶從鍵盤輸入一個字符,並判斷該字符是否爲字母、數字或者其餘字符, 並輸出相應的提示信息。
#!/bin/bashread -p "press some key ,then press return :" KEYcase $KEY in[a-z]|[A-Z])echo "It's a letter.";;[0-9]) echo "It's a digit.";;*)echo "It's function keys、Spacebar or other ksys."esac