当前位置: 首页 > news >正文

建网站 开发app南京建设主管部门网站

建网站 开发app,南京建设主管部门网站,南阳做网站seo的,英文建站系统一、case ... esac语句说明 在实际编程中#xff0c;我们有时会请到多条件多分支选择的情况#xff0c;用if…else语句来嵌套处理不烦琐#xff0c;于是JavaScript等语言提供了多选择语句switch ... case。与此类似#xff0c;Linux Shell脚本编程中提供了case...in...esa…一、case ... esac语句说明 在实际编程中我们有时会请到多条件多分支选择的情况用if…else语句来嵌套处理不烦琐于是JavaScript等语言提供了多选择语句switch ... case。与此类似Linux Shell脚本编程中提供了case...in...esac 语句来实现多条件多分支选择结构其语法结构为   case 变量名 in 值1[|值2……])     命令1     [...]     [命令N]     ;;  [...] 值a[|值b……])     命令a     [...]     [命令b]     [break]     ;; [*)]     [命令x]     [...]     [命令y] esac 在每个 case 分支语句中首先列出该分支对应的值多个值之间用|分隔并以半角右圆括号开始然后列出要执行的语句或命令序列最后用两个分号 ;; 表示该分支结束。 在把我们想处理的值列出来后对于其它情况在C和JavaScript等语言的switch语句中是用default:来表示的在Matlab等语言的switch语句中是用otherwise来表示在Linux shell编程中是用下面的格式来表示的 *) case语句以 esac 结束esac就是case的反序这与if语句以fi结束相类。 其中的[]的内容是可选的。 二、break语句说明 在很多编程语言中为了实现在循环过程中有时候需要在未达到循环结束条件时强制跳出循环而提供了break语句Linux Shell脚本编程同样提供了break语句。   三、实例1在一重无限循环中 为了演示case ... esac、和break语句的功能和用法我们将创建一个演示脚本文件 while : doecho -n Please enter a nummber or letter: read ccase $c in 0|1|2|3|4|5|6|7|8|9) echo You entered a nammber:$c;;a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo You entered a lowercase letter: $c. Contine.;;A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo You entered a capital letter$c. Contine. ;;*)  echo You entered another character:$c \nGame over!break;;;esac done 脚本文件的功能是 通过while : 语句执行一个无限循环 在循环体中 首先 用echo -n 命令显示提示信息Please enter a nummber or letter: 其中 -n选项的作用是显示信息后不自动换行。 接着用read命令读取一个字符保存到变量c中 然后用case 语句对变量c保存的用户输入字符进行判断 如果是0-9就输出You entered a nammber:以及具体的字符然后跳到循环体首部继续执行  如果是a-z就输出You entered a lowercase letter: 具体的字符及 Continue.然后跳到循环体首部继续执行  如果是A-Z就输出You entered a capital letter: 具体的字符及 Continue.然后跳到循环体首部继续执行  如果输入的是不属于以上字符范围的其它字符就输出You entered another character:$c 具体的字符换行输出 Game over!然后使用break语句跳出循环 下面我们分别在zsh和bash中测试   一在zsh中 1.创建测试脚本a.sh 我们用 echo 和 输出重定向来创建。  # csdn edu in ~ [20:01:21]  $ echo while : a.sh # csdn edu in ~ [20:01:52]  $ echo do a.sh # csdn edu in ~ [20:01:52]  $ echo echo -n Please enter a nummber or letter: a.sh # csdn edu in ~ [20:01:52]  $ echo read c a.sh # csdn edu in ~ [20:01:52]  $ echo case $c in a.sh # csdn edu in ~ [20:01:52]  $ echo   0|1|2|3|4|5|6|7|8|9) echo You entered a nammber:$c a.sh # csdn edu in ~ [20:01:52]  $ echo   ;; a.sh # csdn edu in ~ [20:01:52]  $ echo   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo You entered a lowercase letter: $c. Continue. a.sh # csdn edu in ~ [20:01:52]  $ echo   ;; a.sh # csdn edu in ~ [20:01:52]  $ echo  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo You entered a capital letter$c. Continue. a.sh # csdn edu in ~ [20:01:52]  $ echo   ;; a.sh # csdn edu in ~ [20:01:52]  $ echo   *)  echo You entered another character:$c \\nGame over! a.sh # csdn edu in ~ [20:01:52]  $ echo     break; a.sh # csdn edu in ~ [20:01:52]  $ echo   ;; a.sh # csdn edu in ~ [20:01:52]  $ echo esac a.sh # csdn edu in ~ [20:01:52]  $ echo done a.sh # csdn edu in ~ [20:01:52]  $  2. 用cat命令查看创建的测试脚本a.sh内容 # csdn edu in ~ [20:05:43]  $ cat a.sh while :   do  echo -n Please enter a nummber or letter:  read c  case $c in     0|1|2|3|4|5|6|7|8|9) echo You entered a nammber:$c    ;;    a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo You entered a lowercase letter: $c. Continue.    ;;   A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo You entered a capital letter$c. Continue.     ;;    *)  echo You entered another character:$c \nGame over!      break;    ;;  esac done # csdn edu in ~ [20:05:47]  $  3.执行测试脚本a.sh # csdn edu in ~ [20:05:47]  $ . ./a.sh Please enter a nummber or letter: 3 You entered a nammber:3 Please enter a nummber or letter: 9 You entered a nammber:9 Please enter a nummber or letter: A  You entered a capital letterA. Continue. Please enter a nummber or letter: x You entered a lowercase letter: x. Continue. Please enter a nummber or letter: b You entered a lowercase letter: b. Continue. Please enter a nummber or letter: Z You entered a capital letterZ. Continue. Please enter a nummber or letter: D You entered a capital letterD. Continue. Please enter a nummber or letter: * You entered another character:*  Game over! # csdn edu in ~ [20:07:07]  $   我们依次输入字符3、9、A、x、b、z、D和*当输入的字符是数字或字母时循环继续直到我们输入*才跳出循环。 二在bash中 1.创建测试脚本a.sh # csdn edu in ~ [20:07:07]  $ exec bash [csdn ~]$ echo while : a.sh [csdn ~]$ echo do a.sh [csdn ~]$ echo echo -n Please enter a nummber or letter: a.sh [csdn ~]$ echo read c a.sh [csdn ~]$ echo case $c in a.sh [csdn ~]$ echo   0|1|2|3|4|5|6|7|8|9) echo You entered a nammber:$c a.sh [csdn ~]$ echo   ;; a.sh [csdn ~]$ echo   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo You entered a lowercase letter: $c. Continue. a.sh [csdn ~]$ echo   ;; a.sh [csdn ~]$ echo  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo You entered a capital letter$c. Continue. a.sh [csdn ~]$ echo   ;; a.sh [csdn ~]$ echo   *)  echo You entered another character:$c \\nGame over! a.sh [csdn ~]$ echo     break; a.sh [csdn ~]$ echo   ;; a.sh [csdn ~]$ echo esac a.sh [csdn ~]$ echo done a.sh 2. 用cat命令查看创建的测试脚本a.sh内容 [csdn ~]$ cat a.sh while :   do  echo -n Please enter a nummber or letter:  read c  case $c in     0|1|2|3|4|5|6|7|8|9) echo You entered a nammber:$c    ;;    a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo You entered a lowercase letter: $c. Continue.    ;;   A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo You entered a capital letter$c. Continue.     ;;    *)  echo You entered another character:$c \\nGame over!      break;    ;;  esac done [csdn ~]$  3.执行测试脚本a.sh [csdn ~]$ . a.sh Please enter a nummber or letter: 4 You entered a nammber:4 Please enter a nummber or letter: A You entered a capital letterA. Continue. Please enter a nummber or letter: d You entered a lowercase letter: d. Continue. Please enter a nummber or letter: D You entered a capital letterD. Continue. Please enter a nummber or letter: / You entered another character:/ \nGame over! [csdn ~]$  我们依次输入字符4、A、d、D和/当输入的字符是数字或字母时循环继续直到我们输入/才跳出循环。 三小结 通过上面的实例可以看到 1.zsh和bash对case ... esac和break语句都提供了支持。 2.;zsh和bash对字符串\\n的处理是不同的。如 echo   *)  echo You entered another character:$c \\nGame over! a.sh 在zsh中生成的语句是 *)  echo You entered another character:$c \nGame over! 在bash中生成的语句是 *)  echo You entered another character:$c \\nGame over! 这也导致zsh和bas在显示该行信息时存在一点差异。  四、实例2在双重无限循环中 为了测试不同的shell中对break语句功能的支持程度是否存在不同。 我们在实例1的外面再加上一个while : 无限循环看看用break语句能跳出几重循环。  一在zsh中 1.创建测试脚本a.sh # csdn edu in ~ [19:00:42]  $ echo while : a.sh # csdn edu in ~ [19:01:08]  $ echo do a.sh # csdn edu in ~ [19:01:08]  $ echo while : a.sh # csdn edu in ~ [19:01:08]  $ echo do a.sh # csdn edu in ~ [19:01:08]  $ echo echo -n Please enter a nummber or letter: a.sh # csdn edu in ~ [19:01:08]  $ echo read c a.sh # csdn edu in ~ [19:01:08]  $ echo case $c in a.sh # csdn edu in ~ [19:01:08]  $ echo   0|1|2|3|4|5|6|7|8|9) echo You entered a nammber:$c a.sh # csdn edu in ~ [19:01:08]  $ echo   ;; a.sh # csdn edu in ~ [19:01:08]  $ echo   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo You entered a lowercase letter: $c. Continue. a.sh # csdn edu in ~ [19:01:08]  $ echo   ;; a.sh # csdn edu in ~ [19:01:08]  $ echo  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo You entered a capital letter$c. Continue. a.sh # csdn edu in ~ [19:01:08]  $ echo   ;; a.sh # csdn edu in ~ [19:01:08]  $ echo   *)  echo You entered another character:$c \\nGame over! a.sh # csdn edu in ~ [19:01:08]  $ echo     break; a.sh # csdn edu in ~ [19:01:08]  $ echo   ;; a.sh # csdn edu in ~ [19:01:08]  $ echo esac a.sh # csdn edu in ~ [19:01:08]  $ echo done a.sh # csdn edu in ~ [19:01:08]  2. 用cat命令查看创建的测试脚本a.sh内容 # csdn edu in ~ [19:02:56]  $ cat a.sh while :  do while :   do  echo -n Please enter a nummber or letter:  read c  case $c in     0|1|2|3|4|5|6|7|8|9) echo You entered a nammber:$c    ;;    a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo You entered a lowercase letter: $c. Continue.    ;;   A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo You entered a capital letter$c. Continue.     ;;    *)  echo You entered another character:$c \nGame over!      break;    ;;  esac done done # csdn edu in ~ [19:03:56]  $  3.执行测试脚本a.sh # csdn edu in ~ [19:04:41] C:127 $ . ./a.sh Please enter a nummber or letter: 3 You entered a nammber:3 Please enter a nummber or letter: 9 You entered a nammber:9 Please enter a nummber or letter: d You entered a lowercase letter: d. Continue. Please enter a nummber or letter: X You entered a capital letterX. Continue. Please enter a nummber or letter: Y You entered a capital letterY. Continue. Please enter a nummber or letter: * You entered another character:*  Game over! Please enter a nummber or letter: ^C%                                                                                                                                                             # csdn edu in ~ [19:06:06] C:126 $  二在bash中 1.创建脚本文件a.sh [csdn ~]$ echo while : a.sh [csdn ~]$ echo do a.sh [csdn ~]$ echo while : a.sh [csdn ~]$ echo do a.sh [csdn ~]$ echo echo -n Please enter a nummber or letter: a.sh [csdn ~]$ echo read c a.sh [csdn ~]$ echo case $c in a.sh [csdn ~]$ echo   0|1|2|3|4|5|6|7|8|9) echo You entered a nammber:$c a.sh [csdn ~]$ echo   ;; a.sh [csdn ~]$ echo   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo You entered a lowercase letter: $c. Continue. a.sh [csdn ~]$ echo   ;; a.sh [csdn ~]$ echo  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo You entered a capital letter$c. Continue. a.sh [csdn ~]$ echo   ;; a.sh [csdn ~]$ echo   *)  echo You entered another character:$c \\nGame over! a.sh [csdn ~]$ echo     break; a.sh [csdn ~]$ echo   ;; a.sh [csdn ~]$ echo esac a.sh [csdn ~]$ echo done a.sh [csdn ~]$ echo done a.sh 2.用cat命令查看创建的测试脚本文件a.sh的内容 [csdn ~]$ cat a.sh while :  do while :   do  echo -n Please enter a nummber or letter:  read c  case $c in     0|1|2|3|4|5|6|7|8|9) echo You entered a nammber:$c    ;;    a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo You entered a lowercase letter: $c. Continue.    ;;   A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo You entered a capital letter$c. Continue.     ;;    *)  echo You entered another character:$c \\nGame over!      break;    ;;  esac done done [csdn ~]$  3.执行测试脚本a.sh [csdn ~]$ . a.sh Please enter a nummber or letter: 6 You entered a nammber:6 Please enter a nummber or letter: a You entered a lowercase letter: a. Continue. Please enter a nummber or letter: B You entered a capital letterB. Continue. Please enter a nummber or letter: * You entered another character:* \nGame over! Please enter a nummber or letter: - You entered another character:- \nGame over! Please enter a nummber or letter: ^C [csdn ~]$  三小结 从上面的测试结果来看无论是在zsh中还是在bash中break都只能跳出一层循环。 所以在上面的例子中我们使用^C来终止脚本执行。 五、continue语句 linux shell 脚本 编程中的continue语句的作用跟C、JavaScript等其它编程语言一样就是跳转重新开始循环。 六、实例三 为了验证continue语句的作用我对实例1中最后一个case分支的代码 *)  echo You entered another character:$c \nGame over!break;;; 改为 *)  echo You entered another character:$ccontinueecho Game over!break;;; 即 while : doecho -n Please enter a nummber or letter: read ccase $c in 0|1|2|3|4|5|6|7|8|9) echo You entered a nammber:$c;;a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo You entered a lowercase letter: $c. Contine.;;A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo You entered a capital letter$c. Contine. ;;*)  echo You entered another character:$ccontinueecho Game over!break;;;esac done 这样当我们输入一个非数字或字母字符时看看会代码执行结果发生什么样的变化  一在zsh中 1.创建测试脚本文件a.sh  echo while : a.shecho do a.shecho echo -n Please enter a nummber or letter: a.shecho read c a.sh echo case $c in a.sh echo   0|1|2|3|4|5|6|7|8|9) echo You entered a nammber:$c a.sh echo   ;; a.sh echo   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo You entered a lowercase letter: $c. Continue. a.sh echo   ;; a.sh echo  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo You entered a capital letter$c. Continue. a.sh echo   ;; a.sh echo   *)  echo You entered another character:$c a.sh echo   continue a.sh echo   echo Game over! a.sh echo   break; a.sh echo   ;; a.sh echo esac a.sh echo done a.sh 2.查看生成的脚本文件a.sh # csdn edu in ~ [21:18:17] C:126 $ cat a.sh while :   do  echo -n Please enter a nummber or letter:  read c  case $c in     0|1|2|3|4|5|6|7|8|9) echo You entered a nammber:$c    ;;    a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo You entered a lowercase letter: $c. Continue.    ;;    A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo You entered a capital letter$c. Continue.     ;;    *) echo You entered another character:$c    continue    echo Game over!    break;    ;;  esac done # csdn edu in ~ [21:19:29]  $  3.运行脚本文件a.sh # csdn edu in ~ [21:16:42]  $ . ./a.sh Please enter a nummber or letter: b You entered a lowercase letter: b. Continue. Please enter a nummber or letter: 1 You entered a nammber:1 Please enter a nummber or letter: c You entered a lowercase letter: c. Continue. Please enter a nummber or letter: * You entered another character:* Please enter a nummber or letter: ^C%                                                                                                                                                                                                   # csdn edu in ~ [21:18:17] C:126 $  二在bash中 1.创建测试脚本文件a.sh  # csdn edu in ~ [23:25:46]  $ exec bash[csdn ~]$ echo while : a.sh [csdn ~]$ echo do a.sh [csdn ~]$ echo echo -n Please enter a nummber or letter: a.sh [csdn ~]$ echo read c a.sh [csdn ~]$ echo case $c in a.sh [csdn ~]$ echo  0|1|2|3|4|5|6|7|8|9) echo You entered a nammber:$c a.sh [csdn ~]$ echo  ;; a.sh [csdn ~]$ echo  a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo You entered a lowercase letter: $c. Continue. a.sh [csdn ~]$ echo  ;; a.sh [csdn ~]$ echo  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo You entered a capital letter$c. Continue. a.sh [csdn ~]$ echo  ;; a.sh [csdn ~]$ echo  *)  echo You entered another character:$c a.sh [csdn ~]$ echo  continue a.sh [csdn ~]$ echo  echo Game over! a.sh [csdn ~]$ echo  break; a.sh [csdn ~]$ echo  ;; a.sh [csdn ~]$ echo  esac a.sh [csdn ~]$ echo done a.sh 2.用cat命令查看脚本文件的内容 [csdn ~]$ cat a.sh while :   do  echo -n Please enter a nummber or letter:  read c  case $c in    0|1|2|3|4|5|6|7|8|9) echo You entered a nammber:$c   ;;   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo You entered a lowercase letter: $c. Continue.   ;;   A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo You entered a capital letter$c. Continue.    ;;   *)  echo You entered another character:$c   continue   echo Game over!   break;   ;;   esac done [csdn ~]$  3.执行脚本文件 [csdn ~]$ . a.sh Please enter a nummber or letter: 3 You entered a nammber:3 Please enter a nummber or letter: a You entered a lowercase letter: a. Continue. Please enter a nummber or letter: C You entered a capital letterC. Continue. Please enter a nummber or letter: * bash:  echo: command not found Please enter a nummber or letter: ^C [csdn ~]$  3.小结 在上面的实例中当我们输入字符*时程序执行代码 *) echo You entered another character:$c 输出信息 You entered another character:* 后就遇到 了continue语句重新开始循环。 continue语句后面的代码 echo Game over!    break; 没有执行。 所以我们还是要用CtrlC来终止脚本的运行。
http://www.dnsts.com.cn/news/247231.html

相关文章:

  • 比价网站怎么做的手工制作花朵
  • 爱站站长工具动态列线图怎么制作网页
  • 莆田中小企业网站制作seo是怎么优化关键词的
  • 白山市住房和城乡建设局网站有没有咨询求助做任务的网站
  • 南通装饰网站建设广州网络公司建站
  • godaddy怎么建设网站网站出错 图片
  • 有经验的永州网站建设wordpress安全_
  • 文化局网站建设方案网站过期了怎么办
  • 河北省建设厅管网站建设免费网站
  • 企业网站公司单位有哪些网站整站开发教程
  • 网站开发现状网站空间在哪申请
  • 营销型网站建设企业自己怎么手机做网站
  • 深圳康福特户外家具营销型网站wordpress编辑器添加
  • 哪些公司做网站开发秦皇岛生态文明建设
  • 物流企业网站模板网站管理员招聘
  • 西安千叶网站建设摄影集 wordpress
  • 单位网站建设情况总结网站建设费用清单
  • 建网站pc版嘉定西安网站建设
  • 长春建设平台网站的公司哪家好wordpress python3
  • 福州婚庆网站建设哪个公司比较专业专业网站优化电话
  • 网站服务器租用恒创做公众号的公司是什么公司
  • 企业网站建设尚未实现宣传功能最新网站源码下载
  • 网站建设费的会计处理聊城集团网站建设费用
  • 智慧政务门户网站建设方案南庄网站开发
  • 中国设计之窗官方网站广告策划书包括哪些内容
  • 宏杰zkeys网站模板5118站长工具
  • 青海政企网站建设安徽智农网络信息技术服务有限公司 网站开发
  • access 网站数据库护肤品网站建设环境分析
  • 在线画流程图的网站网站logoPS怎么做
  • 网站seo啥意思怎么做开发公司赠送阁楼视同销售