case:多分支判断
语法结构:
case 变量 in
值1)
命令;
;;
值2)
命令;
;;
... ...
;;
值n)
命令;
;;
*) //*表示匹配除了以上各个值之外的所有值
命令;
;;
esac
同时匹配两个变量的方法一:将两个变量看成一个整体
[root@srv254-200 scripts]# vim case2.sh
#!/bin/bash
read -p "Please input your name: " user_name
read -s -p "Please input your password: " password
case "$user_name $password" in
"root redhat")
echo "You are right."
;;
"oracle ora")
echo "You are right for oracle."
;;
*)
echo "You are wrong."
;;
esac
[root@srv]# sh case2.sh
Please input your name: root
Please input your password: redhat
You are right.
[root@srv]# sh case2.sh
Please input your name: haha
Please input your password: good
You are wrong.
同时匹配两个变量的方法二:用逗号分隔多个变量
[root@sr]# vim case3.sh
#!/bin/bash
read -p "Please input your name: " user_name
read -s -p "Please input your password: " password
case $user_name,$password in
root,redhat)
echo "You are right."
;;
oracle,ora)
echo "You are right for oracle."
;;
*)
echo "You are wrong."
;;
esac