欢迎来到山村网

Linux下shell中case命令详解

2019-03-09 13:44:55浏览:851 来源:山村网   
核心摘要:  linux下shell中的case名字和C/C++中的switch类似,但是shell中的case更强大和复杂。  1、强大主要体现在:shell中case中的

  linux下shell中的case名字和C/C++中的switch类似,但是shell中的case更强大和复杂。

  1、强大主要体现在:shell中case中的关键字可以是字符串类型,而每一项中可以包含正则表达式。

  2、复杂主要体现在:shell中case的每一个项后有三个选择:break(常规的break)、unconditional follow up(无条件继续)和conditional follow up(有条件继续)。

  这篇文章的重点是上面的第2点。

  case的无条件继续和有条件继续是bash 4.1.x及之后的版本中才有的特性。

  执行如下命令可以查看你当前bash的版本

  echo $BASH_VERSION

  常规的break是在每一项后面加;;

  无条件继续是在每一项后面加;&

  有条件继续实在每一项后面加;;&

  测试代码

  #!/bin/bashecho "Test No.1 ..."case "1" in 1) echo '1' ;;& 2) echo '2' ;; 3) echo '3' ;; ?) echo '?' ;; *) echo '*' ;;esacecho "Test No.2 ..."case "1" in 1) echo '1' ;; 2) echo '2' ;;& 3) echo '3' ;; ?) echo '?' ;; *) echo '*' ;;esacecho "Test No.3 ..."case "1" in 1) echo '1' ;& 2) echo '2' ;; 3) echo '3' ;; ?) echo '?' ;; *) echo '*' ;;esacecho "Test No.4 ..."case "1" in 1) echo '1' ;; 2) echo '2' ;& 3) echo '3' ;; ?) echo '?' ;; *) echo '*' ;;esac

  测试结果:

  Test No.1 ...1?Test No.2 ...1Test No.3 ...12Test No.4 ...1

(责任编辑:豆豆)
下一篇:

shell——切分文件名

上一篇:

Linux下用bash命令执行名称中带有“(”符号的目录注意事项

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com