第二节:case语句

流程控制之case语句

一 语法

case 变量 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
模式3)
命令序列3
;;
*)
无匹配后命令序列
esac

注意

case语句只支持shell通配符,例如:*表示任意字符串,?表示任意字符,中括号表示字符集如[a-z]表示一个小写字母
如果要处理正则表达式则需要使用用if [[ 字符串 =~ "正则" ]]这种形式

二 案例

案例1

#!/bin/bash
read -p "username: " -t 5 username
echo
if [ -z $username ];then
username="default"
fi
case $username in
root)
echo "管理员用户"
;;
egon)
echo "普通用户"
;;
default)
echo "默认用户"
;;
*)
echo "其他用户"
esac

案例2:

#!/bin/bash
read -p ">>>: " BOOLEAN
case $BOOLEAN in
[yY][eE][sS])
echo 'Thanks' $BOOLEAN
;;
[yY]|[nN])
echo 'Thanks' $BOOLEAN
;;
'T'|'F')
echo 'Thanks' $BOOLEAN
;;
[Tt]ure|[Ff]alse)
echo 'Thanks' $BOOLEAN
;;
*)
exit 1
;;
esac

案例3:编写nginx启动脚本

联系管理员微信tutu19192010,注册账号

上一篇
下一篇
Copyright © 2022 Egon的技术星球 egonlin.com 版权所有 沪ICP备2022009235号 沪公网安备31011802005110号 青浦区尚茂路798弄 联系方式-13697081366