case 语句很有用,并且比 else-if 阶梯处理得更快。 case 语句不是检查所有 if-else 条件,而是根据输入直接选择要执行的块。
使用 shell 脚本中的 case 语句创建第一个程序。程序从用户那里获取输入并根据输入值执行语句。
#!/bin/bash
read -p "确认你的选择 [yes/no]:" choice
case $choice in
yes)
echo "棒"
echo "你输入的是: Yes"
;;
no)
echo "哇"
echo "你输入的是: No"
;;
*)
echo "抱歉, 输入无效"
;;
esac即答案可能是多个符合,您可以在 shell 脚本中的 case 语句下的匹配模式中定义多个字符串。在此处检查示例脚本:
#!/bin/bash
read -p "确认你的选择 [yes/no]:" choice
case $choice in
Y|y|Yes|YES|yes)
echo "棒"
echo "你输入的是: $choice"
;;
N|n|No|NO|no)
echo "哇"
echo "你输入的是: $choice"
;;
*)
echo "抱歉,输入无效"
;;
esac#!/bin/bash
read -p "输入一个字符串:" choice
shopt -s extglob
case $choice in
a*) ### 匹配任何以a开头字符串
echo "匹配任何以a开头字符串";
;;
b?) ### 匹配 任 以"b"开头的2个字母的字符
echo "匹配 任 以"b"开头的2个字母的字符";
;;
s[td]) ### 匹配 "st"或"sd"
echo "匹配 'st'或'sd'";
;;
r[ao]m) ### 匹配 "ram"或"rom"
echo "匹配 'ram'或'rom'";
;;
me?(e)t) ### 匹配 "met"或"meet"
echo "匹配 'met'或'meet'";
;;
@(a|e|i|o|u)) ### 匹配一个元音字母
echo "匹配一个元音字母";
;;
*) ### 未匹配以上所有情况
echo "未匹配以上所有情况";
;;
esac| 留言与评论(共有 0 条评论) “” |