Shell编程中的case in语句

1.用法

case expression in
path1)
    执行语句
    ;;
path2)
    执行语句
    ;;
path3)
    执行语句
    ;;
*)
    默认执行语句
esac

2.几点说明

case 、 in esac 都是 Shell 关键字, expression 表达式 pattern 表示匹配式 express 既可以是一个变量、一个数字、一个字符串,还可以是一个数学计算表达式,或者是命令的执行结果,只要能得到expression 的值就可以。 pattern 可以一个数字、一个字符串甚至是一个简单的正则表达式

对*)的几点说明:
Shell case in语句中的用来“托底”,万一expression没有匹配到任何一个模式,*)部分可以做一些“善后”工作,或者给用户一些提示。
可以没有*)部分。如果expression没有匹配到任何一个模式,那么就不执行任何操作除最后一个分支外(这个分支可以是普通分支,可以是*)其它的每个分支都必须以;结尾,;;代表一个分支的结束,不写的话会有语法错误。最后个分支可以写:,也可以不写,因为无论如何,执行到esac都会结束整个case in语句。

case in的pattern部分支持简单的正则表达式,具体来说,可以使用以下几种格式:
格式                                                                                        说明
*                                                                                       表示任意字符串。
[abc]                                                                                表示a、b、C三个字符中的任意一个。比如,[15ZH] 表示1、5、Z、H四个
字符中的任意一个。
[m-n]                                                                                表示从m到n的任意一个字符。比如,[0-9] 表示任意一个数字, [0-9a-
2A-Z]表示字母或数字。

3.举例

 

发布了90 篇原创文章 · 获赞 18 · 访问量 7565

猜你喜欢

转载自blog.csdn.net/qq_42806574/article/details/104312741
今日推荐