case語句 :它可以把變量的內容與多個模板進行匹配,再根據成功匹配的模板去決定應該執行哪部分代碼。
使用格式:
case 匹配母板 in
模板1 [ | 模板2 ] … ) 語句組 ;;
模板3 [ | 模板4 ] … ) 語句組 ;;
esac
case語句的匹配是從上往下地匹配順序。所以,case語句編寫的原則是從上往下,模板從特殊到普通。在C語言裏,case語句中有default模板,而在shell程序設計中,可能將模板寫成*,就能夠完成相同的功能。 shell
case語句的模板支持匹配
匹配以n開頭的全部狀況: n*
匹配yes的全部字母大小不一樣的狀況: [yY][eE][sS]
但不支持{}匹配,由於模板可使用 | 就能夠達到目的。ide
例程:設計
#!/bin/shget
echo "Please input \"yes\" or \"no\""input
read varit
case "$var" in模板
[yY][eE][sS] ) echo "Your input is YES" ;;程序設計
[nN][oO] ) echo "Your input is YES" ;;class
* ) echo "Input Error!" ;;變量
esac
exit 0