case条件语句的语法格式:
case "变量" in
值1)
指令1........
;;
值2)
指令2........
;;
*)
指令3........
esac
举例1:
输入1-9,输出1-9;输出其他,退出
#!/bin/bash
read -p "Please input a number:" ans
case "$ans" in
[1-9])
echo "The num you input is $ans"
;;
*)
echo "Please input [0-9] int"
exit
esac
举例2:
#!/bin/bash
RED_COLOR='\E[1;31m'
GREEN_COLOR='\E[1;32m'
YELLOW_COLOR='\E[1;33m'
BLUE_COLOR='\E[1;34m'
RES='\E[0m'
echo '
==================
1.apple
2.pear
3.banana
4.cherry
==================
'
read -p "Please select a number:" num
case "$num" in
1)
echo -e "$RED_COLOR apple $RES"
;;
2)
echo -e "$GREEN_COLOR pear $RES"
;;
3)
echo -e "$YELLOW_COLOR banana $RES"
;;
4)
echo -e "$BLUE_COLOR cherry $RES"
;;
*)
echo "muse be {1|2|3|4}"
esac
更加专业点,写成函数
#!/bin/bash
RED_COLOR='\E[1;31m'
GREEN_COLOR='\E[1;32m'
YELLOW_COLOR='\E[1;33m'
BLUE_COLOR='\E[1;34m'
RES='\E[0m'
function menu(){
cat <<END
1.apple
2.pear
3.banana
4.cherry
END
}
function chose(){
read -p "Please select a number:" num
case "$num" in
1)
echo -e "$RED_COLOR apple $RES"
;;
2)
echo -e "$GREEN_COLOR pear $RES"
;;
3)
echo -e "$YELLOW_COLOR banana $RES"
;;
4)
echo -e "$BLUE_COLOR cherry $RES"
;;
*)
echo "muse be {1|2|3|4}"
esac
}
function main(){
menu
chose
}
main