首页 > Linux, Linux tools, linux shell, sed&swk&shell > Unix/Linux shell程序设计-<控制结构>-case语句

Unix/Linux shell程序设计-<控制结构>-case语句

2009年9月26日 稀饭 发表评论 阅读评论

case语句 :它能够把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码。
使用格式:
case 匹配母板 in
模板1 [ | 模板2 ] … ) 语句组 ;;
模板3 [ | 模板4 ] … ) 语句组 ;;
esac

case语句的匹配是从上往下地匹配顺序。因此,case语句编写的原则是从上往下,模板从特殊到普通。在C语言里,case语句中有default模板,而在shell程序设计中,可能将模板写成*,就可以完成相同的功能。

case语句的模板支持匹配
匹配以n开头的所有情况: n*
匹配yes的所有字母大小不同的情况: [yY][eE][sS]
但不支持{}匹配,因为模板可以使用 | 就可以达到目的。

例程:

?Download shell.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/sh
 
echo "Please input \"yes\" or \"no\""
 
read var
 
case "$var" in
 
[yY][eE][sS] ) echo "Your input is YES" ;;
 
[nN][oO]     ) echo "Your input is YES" ;;
 
*            ) echo "Input Error!"      ;;
 
esac
 
exit 0

收藏与分享
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.