每天一个shell小知识(case)
程序员文章站
2022-04-27 19:44:11
...
case:
Case语句主要适用于:某个变量存在多种取值,需要对其中的每一种取值分别执行不同的命令序列。这种情况和多分支if语句非常相似。只不过if要判断多个不同的条件而case语句只判断一个变量的不同取值。
结构
case 变量值 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
。。。。。。。。。。。。。
*)
默认命令序列
esac
case行尾必须为单词“in”,每一模式必须以右括号“)”结束。
双分号“;;”表示命令序列的结束。
模式字符串中,可以用方括号表示一个连续的范围,如:“[0-9]”;还可以用竖杠符号“|”表示或,如“A|B”.
最后的“*)”表示默认模式, 其中的*相当于通配符
例1
检查用户输入字符类型:提示用户输入一个字符,通过case语句判断该字符为字母,数字或者是其他字符,并给出相应的提示。
#vi case1.sh
#!/bin/bash
read -p "请输入一个字符,并按enter确认:" KEY
case "$KEY" in
[a-z]|[A-Z])
echo "您输入的字符为字母"
;;
[0-9])
echo "您输入的字符为数字"
;;
*)
echo "您输入的是空格、功能键或其他控制字符"
esac
上一篇: 每天一个shell小知识(函数)