分支控制語句
case語句——根據變量的不同取值,分別執行不同的命令操作
case 變量值 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
……
* )
默認執行的命令序列
esac
(當遇到雙分號“;;”後跳轉至esac表示結束分支。如果一直找不到相匹配的值,則執行最後一個模式“*)”後的默認命令序列,直到遇到esac後結束分支)
#!/bin/bash case $1 in start) echo "Start MySQL service." ;; stop) echo "Stop MySQL service." ;; *) echo "Usage:$0 start|stop" ;; esac
(/etc/init.d/ 目錄下的各類腳本中,大量使用了case分支語句結構)
#!/bin/bash read -p "Press some key, then press Return:“ KEY case "$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 keys. " esac
(匹配模式中可以使用方括號表示一個連續的范圍,例如“[0-9]”;使用豎槓符號“|”表示或,例如“A|B”(A或者B))