shell程序设计-<控制结构>-case语句
2010-05-17 23:08
399 查看
case语句 :它能够把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码。
使用格式:
case 匹配母板 in
模板1 [ | 模板2 ] … ) 语句组 ;;
模板3 [ | 模板4 ] … ) 语句组 ;;
esac
case语句的匹配是从上往下地匹配顺序。因此,case语句编写的原则是从上往下,模板从特殊到普通。在C语言里,case语句中有default模板,而在shell程序设计中,可能将模板写成*,就可以完成相同的功能。
case语句的模板支持匹配
匹配以n开头的所有情况: n*
匹配yes的所有字母大小不同的情况: [yY][eE][sS]
但不支持{}匹配,因为模板可以使用 | 就可以达到目的。
例程:
#!/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
使用格式:
case 匹配母板 in
模板1 [ | 模板2 ] … ) 语句组 ;;
模板3 [ | 模板4 ] … ) 语句组 ;;
esac
case语句的匹配是从上往下地匹配顺序。因此,case语句编写的原则是从上往下,模板从特殊到普通。在C语言里,case语句中有default模板,而在shell程序设计中,可能将模板写成*,就可以完成相同的功能。
case语句的模板支持匹配
匹配以n开头的所有情况: n*
匹配yes的所有字母大小不同的情况: [yY][eE][sS]
但不支持{}匹配,因为模板可以使用 | 就可以达到目的。
例程:
#!/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
相关文章推荐
- 3、shellwhile循环,C-for循环,until循环,case分支结构,流程控制语句
- JavaScript系统学习之一 <基本语法,运算符,流程控制语句>
- 递归 编程题#2: 文件结构“图”(Coursera 程序设计与算法 专项课程4 算法基础 郭炜、刘家瑛;switch case后接多行语句)
- 进程控制理论<四>---那些年我们一起学习linux程序设计 .
- 【shell】结构控制-循环语句
- &lt;展现C#&gt;第六章控制语句
- 编写控制结构之case语句
- 运维之shell篇-----3.循环结构 、 case语句 、 函数及中断控制
- shell脚本中case条件控制语句的一个bug分析
- <<展现C#>>第六章 控制语句(修订)
- K&R的名著:<C程序设计语言>自引用结构
- aauto学习系列之<7>控制语句2
- shell-6-退出状态与流程控制语句(if;test;case命令)
- 购物打折与Delphi的Case<表达式> of 语句(附:源码)
- shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select
- 循环结构 、 函数及中断控制 、 case语句
- [9-13]Shell系列3――分支结构if与case语句
- shell脚本中case条件控制语句的一个bug分析
- SQL语句 case when else end 、distinct 、<>0
- <<c程序设计语言>>-4- 函数与程序结构