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