linux里shell case的用法

2017-04-18 10:40:32 5521

case分支语句的格式如下:

            case $变量名 in

                模式1)

            命令序列1

            ;;

                模式2)

            命令序列2

         ;;

                *)

            默认执行的命令序列     ;;

            esac

 

case语句结构特点如下:

1.     case行尾必须为单词“in”,每一个模式必须以右括号“)”结束;

2.     双分号“;;”表示命令序列结束;

3.     匹配模式中可是使用方括号表示一个连续的范围,如[0-9];使用竖杠符号“|”表示或;

4.     最后的“*)”表示默认模式,当使用前面的各种模式均无法匹配该变量时,将执行“*)”后的命令序列。

 

实例:

[root@gl gaolei_script]# vi oracle

#!/bin/bash

case $1 in

     a|b)

  echo "a or b have been input ..."

 ;;

     c|d)

 echo "c or d have been input ..."

 ;;

 *)

 echo "other have been input ..."

 ;;

esac

 

==============================================

运行ssh脚本:

[root@gl gaolei_script]# chmod 755 oracle

[root@gl gaolei_script]# ./oracle e

other have been input ...

[root@gl gaolei_script]# ./oracle F

[a-d]|[A-D]|f|F input ...

[root@gl gaolei_script]# ./oracle 4

[1-5]|9 input ...


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: