case选择语句
case语法规则
case $变量名 in
“值1”)
语句1
;;
“值2”)
语句2
;;
…
*)
语句n
;;
esac
case选择语句符合单条件多分支的情况。
实例:根据用户的输入来输出对应的内容
#!/bin/bash
read -p "Please input your choice Y/N:" -t 5 choice
case $choice in
"Y")
echo "your choice is yes!"
;;
"N")
echo "your choice is no!"
;;
*)
echo "your choice is error!"
;;
esac
⚠️
1)case语句会根据变量的值来选择对应的语句执行,若所有的值都不符合,则执行*)对应的语句(*代表的是其他值);
2)case选择语句是以case开头,以esac结尾;
3)在每个分支之后都要以;;(双分号)结尾,代表该程序段结束。
select选择语句
select语句一般用于选择菜单的创建,可以配合PS3来做菜单的打印输出信息。
同时可以配合case选择语句来执行对应的内容。
select语法规则
PS3=“Menu:”
select i in 菜单列表
#显示环境变量PS3的值
do
语句1
done
⚠️
1)PS3中存放的是引导用户输入的提示信息;
2)菜单列表之间用空格间隔开;
3)在显示列表时,列表中的每一个菜单项之前添加从1开始递增的序号;
4)用户每选择一个菜单项之后都会重新进入新的菜单选择循环;
5)select是一个无限循环,所以需要提供出口quit
实例:选择对应的安装项
#!/bin/bash
#case select test
PS3="select install menu:"
echo $PS3
select i in "apache" "mysql" "php" "quit"
do
case $i in
apache)
echo "wait install httpd server..."
;;
mysql)
echo "wait install mysql server..."
;;
php)
echo "wait install php server..."
;;
quit)
break
;;
*)
echo "usage: {$0 apache|mysql|php|help}"
;;
esac
done
脚本输出结果:
当使用select语句来选择对应项时,可以通过数值1,2,3,4…来选择对应的项。
版权声明:本文为BANANAML原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。