shell--case in

case in

用法

case;in;esac都是shell关键字
expression是表达式(既可以是一个变量,一个数字,一个字符串,还可以是一个数学计算表达式,或者是命令的执行结果,只要可以得到expression的值就行)
pattern是匹配模式(一个数字,一个字符串,或者一个简单的正则表达式)

case expression in
   pattern1)
      statement1
      ;;
   pattern2)
      statement2
      ;;
   ......
   *)
      statement2
esac

工作模式

case会将expression的值与pattern1~n进行匹配:
1 如果expression和某个模式匹配成功,就会执行这个模式后面对应的所有语句,知道遇见分号;;才停止
然后真各国case语句就执行完毕,程序会跳出case语句,执行esac后面的语句。
2 如果expression没有匹配到任何一个模式,那么就执行*) 后面的语句,知道遇见双分号;;或者esac才结束。
相当于多个if语句中的else语句。
3 如果expression没有匹配到任何一个模式,那么*)部分就可以做善后工作,或者给用户一些提示。
4 可以没有*)部分。如果没有匹配到任何一个模式,那么就不执行任何操作。

注意:
除最后一个一个分支外,其它分支必须以;;结尾,;;代表一个分支的结束,不写会程序错误。
esac会结束整个case in语句。

case in 的pattern 支持部分简单的正则表达式:

格式说明
*表示任意字符串
[abc]表示a b c三个字符中的任意一个
m-n表示m-n中的任意一个字符
I(竖杠)表示多重选择类似于或运算

示例:

1.

在这里插入图片描述

在这里插入图片描述

2.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值