shell 分支case语句
  vxoexqgjyiCS 2023年11月19日 18 0

case 语句是 shell 中流控制的第二种方式,语法如下:  

case $变量 in

    pattern1)

         list1

         ;;                     ---------------------结尾。

    pattern2)

         list2

         ;;

    ... ...

    patternN)

         listN

        ;;

   *)                       --------------------> 如果前面命令没有执行成功那么执行下面这个

        list*

        ;;

esac


命令;;表明流应该跳转到case语句的最后,类似C语言中的break指令。

第一行: 声明case关键字调用case语法, 紧跟的“变量”一般为用户的输入值, in代表从下方的各个模式进行匹配  

第2-4行: 匹配到“pattern1”后进行命令的输出或执行, pattern1: 一般为字符或数值

第11-12行: 当用户输入的字符不存在匹配模式时, 直接执行或打印*)下的命令或语句



实例1:

[root@linux-server script]# vim foo.sh

#!/usr/bin/env bash

case $1 in

       foo)

       echo "bar"

       ;;

       bar)

       echo "foo"

       ;;

       *)

       echo "Usage:$0 '{foo|bar}'"

       ;;

esac

[root@linux-server script]# chmod +x foo.sh

[root@linux-server script]# ./foo.sh bar


练习:建立脚本case.sh,当执行时,要求我们在键盘输入适当的值(one|two|three),当输入正确时并打印,当输入错误 时会提示你,应该输入正确的值。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
  6YY0QMPUXEwu   2023年12月10日   29   0   0 linux网卡
  Ex81gqy3LOX7   2023年12月07日   19   0   0 linux
  nIt0XG0acU8j   2023年12月11日   29   0   0 linuxhtop
  nIt0XG0acU8j   2023年12月09日   33   0   0 linuxsort