1. case分支语句的格式如下:
case 变量名 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
*)
默认执行的命令序列
esac
2. case语句结构特点如下:
• case行尾必须为单词“in”,每一个模式必须以右括号“)”结束。
• 双分号“;;”表示命令序列结束。
• 匹配模式中可是使用方括号表示一个连续的范围,如[0-9];使用竖杠符号“|”表示或,也可以使用通配符*。
匹配以n开头的所有情况: n*
匹配yes的所有字母大小不同的情况: [yY][eE][sS]
但不支持{}匹配,因为模板可以使用 | 就可以达到目的。
• 最后的“*)”表示默认模式,当使用前面的各种模式均无法匹配该变量时,将执行“*)”后
的命令序列。
3. 演示代码

case $DEVPROD in
prod) username="jssay" ;
machine="hkm001" ;;
dev) username="aney" ;
machine="hkm002";;
*) echo "Error: Unknown environment >$DEVPROD<";
exit;;
esac
echo “username: $username”
echo “machine: $machine”

假设DEVPROD的值为dev, 打印结果为:
username: aney
machine: hkm002

本Blog文章除特别声明之外皆为原创文章,欢迎转载,转载请注明: 转载自JSSAY'S BLOG

本文链接地址: http://www.jssay.com/blog/index.php/2010/09/15/shell%e7%a8%8b%e5%ba%8f%e8%ae%be%e8%ae%a1%e4%b9%8bcase%e8%af%ad%e5%8f%a5/


相关文章

标签:,

发表评论