Shell Scripts 中 条件分支 case 的使用

原创 2018年04月15日 13:33:47

在 Shell Scripts中条件分支除了使用 if 以外,还有一个非常常用的就是case了。我们都经常会通过命令

service rsyslog restart

来重启日志服务,实际上就是在调用 /etc/init.d/rsyslog这个脚本,并给脚本传入了restart方法。我们可以来看看这个脚本的实现,在/etc/init.d/下面的脚本就是学习case最好的例子,文件内容比较多,摘下一部分,如下:

case "$1" in # 注意这里的$1 表示的是取 给脚本传入的第一个参数。实际上是第二个,第一个是执行的脚本名字。$0 就表示的是rsyslog
  start)  # 当第一个参数为 start 时,执行下面的语句,注意后面的")"是必须的。这里的start是一个字符串,可以加上"start"也是可以的
        start # 这是定义的一个start 函数,走到这一行时,会调用预先定义的start函数
        ;; # 这个类似于java中的 break。结束这个分支,这行代码是必须的,不能省略
  stop) # 同start
        stop
        ;;
  restart)
        restart
        ;;
  reload)
        exit 3
        ;;
  force-reload)
        restart
        ;;
  status)
        rhstatus
        ;;
  condrestart|try-restart)
        rhstatus >/dev/null 2>&1 || exit 0
        restart
        ;;
  *) # 当以上所有的条件都不满足时,执行下面的语句,类似于java中的default
        echo $"Usage: $0 {start|stop|restart|condrestart|try-restart|reload|force-reload|status}"
        exit 3
esac # 当case结束的时候,一定要使用反case,也就是 esac来结束

通过这个例子,可以看到case的语法,以及case的应用场景
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/king_kgh/article/details/79948552

Shell Scripts 中 条件分支 if 的使用

举一个非常简单的小例子来说明 Shell Scripts中if语法的使用。提示用户输入名字,如果用户没有输入任何信息,则提示用户一定要输入名字,如果用户输入的是hello,程序要给用户回复“hello...
  • king_kgh
  • king_kgh
  • 2018-04-15 13:12:27
  • 30

Shell scripts简单入门

shell脚本
  • hjyzjustudy
  • hjyzjustudy
  • 2016-05-01 14:12:25
  • 5783

Linux 下的 shell 编程之 case 多分支选择

Shell 编程 case
  • zgf19930504
  • zgf19930504
  • 2016-07-14 19:15:04
  • 3794

shell 调用函数 case

#!/bin/sh unload () { echo "unload"; } uninstall () { echo "uninstall"; } install () { ...
  • silentpebble
  • silentpebble
  • 2012-09-12 14:14:04
  • 2358

Shell里的case和变量连接

Shell里的case和变量连接   部分来自:http://bbs.chinaunix.net/thread-542727-1-1.html   注意:C语言里的switch-case语句的...
  • ysdaniel
  • ysdaniel
  • 2012-08-24 23:57:52
  • 1071

shell case语句及函数

case 菜单选择打印 语法: case var in var变量 patten 1) 匹配模式1 a|b|c |和or类似 command... 需要执行的命令 ...
  • u010265663
  • u010265663
  • 2017-05-05 07:31:17
  • 5599

Linux Shell case语句

case分支语句的格式如下:            case 变量名 in                 模式1)             命令序列1             ;;       ...
  • zh521zh
  • zh521zh
  • 2016-08-17 16:53:31
  • 1360

shell 中的for循环while循环和case语句

循环语句 1)for 循环 第一种语法格式: for((初始化变量值;结束循环条件;循环控制语句)) do 循环体 done eg. #!/bin/sh sum=0 for...
  • qq_39532946
  • qq_39532946
  • 2017-07-20 21:22:42
  • 726

shell编程中for,while,util,case,select,break, continue用法详解

关于shell脚本的更多详细实例讲解请参考:http://www.cnblogs.com/yuexiaxiaoxi/category/646749.html Shell编程中循环命令用于特定条件...
  • wangqing_12345
  • wangqing_12345
  • 2016-07-06 17:25:30
  • 4794

shell case正则匹配

case $BOOLEAN in   [yY][eE][sS])   echo 'Thanks' $BOOLEAN   ;;   [yY]|[nN])   echo 'T...
  • huyuan7494
  • huyuan7494
  • 2017-08-14 10:44:40
  • 383
收藏助手
不良信息举报
您举报文章:Shell Scripts 中 条件分支 case 的使用
举报原因:
原因补充:

(最多只允许输入30个字)