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]表示字母或数字。