目录
1. 语法
case [值] in
模式1)
命令
;;
模式2)
命令
;;
esac
2. 常见用法
2.1. 读取位置参数
case $1 in
-a)
echo "输出字符aaaaaaaa"
;;
-b)
echo "输出字符bbbbbbbb"
;;
-c)
echo "输出字符cccccccc"
;;
*)
echo -e "Uage: $0 [option]"
echo -e "\t -a: xxx"
echo -e "\t -b: xxx"
echo -e "\t -c: xxx"
esac
2.2. 读取交互参数
read -p "请确认信息是否正确(y/n): " r
case ${r} in
y|Y) # 包含大小写
echo "信息正确"
;;
[nN]) # 包含大小写
echo "信息错误,请修正..."
;;
*)
echo "请输出正确的提示(y/n)"
esac
2.3. 读取变量
var="a"
case ${var} in
a)
echo "变量为a"
;;
b)
echo "变量为b"
;;
c)
echo "变量为c"
;;
esac
2.4. 判断值
var="abc123**"
case ${var} in
[a-z]*|[A-Z]*)
echo "这个变量以字母开头"
;;
[0-9]*)
echo "这个变量以数字开头"
;;
*)
echo "这个变量既不是字母开头, 也不是数字开头"
;;
esac
3. 正则表达式
符号 | 解释 |
* | 任意字符 |
[ ] | [xyz] 任意一个xyz |
[a-z] 任意一个小写字母 | |
[A-Z] 任意一个大写字母 | |
[a-Z] 任意一个字母 | |
| | 表示或者(or) |
\ | 转译符 |
^ | ^a 以a开头 |
$ | a$ 以a结尾 |