模式匹配
- 邀请用户输入待删除用户名。
 - 询问用户,确定要继续删除吗 yes/no: " y
 
语法结构
case 变量 in
  模式1)
  命令序列1
  ;;
  模式2)
  命令序列2
  ;;
  模式3)
  命令序列3
  ;;
  *)
  无匹配后命令序列
  ;;
  esaccase写法
case "$action" in
Y|y|YES|yes|Yes|YeS|YEs)
userdel -r $user
echo "$user is deleted!"
;;
*)
echo "thank you"
;;
esacJumpServer
示例1
编写跳板程序需要访问服务器时显示服务器列表名
#!/usr/bin/bash
#定义目标主机IP
web1=192.168.122.152
web2=192.168.122.128
mysql1=192.168.122.88
#打印跳转菜单
cat <<EOF
1.WEB1
2.WEB2
3.MYSQL1
EOF
#读取用户输入
read -p "input number: " num
#判断用户选择
case $num in
1)
ssh alice@$web1
;;
2)
ssh alice@$web2
;;
*)
echo '123'
esac示例2
系统管理工具箱
vim systemmanage.sh
#!/usr/bin/bash
#打印菜单
cat <<-EOF
h. help
f. disk partation
d. filesystem mount
m. memory
u. system load
q.exit
EOF
# 读取用户输入,进行模式匹配
read -p "please input [h for help]: " action
case "$action" in
f)
  fdisk -l
  ;;
d)
  df -hT
  ;;
m)
  free -m
  ;;
u)
  uptime
  ;;
q)
  exit
  ;;
"")
  ;;
*)
  echo "error"
  ;;
esac









