目录标题
select语句
select in 循环用来增强交互性,它可以显示出带编码的菜单,用户输入不同的编号就可以选择不同的菜单,并执行不同的功能。select in是shell独有的一种循环,非常适合终端这样的交互场景,c语言、c++、java、pytho、c#等其他编程语言中时没有的。
select in循环的用法如下:
select variable in value_list
do
statements
done
#!/bin/bash
echo "what is your favorite os?"
select name in "linux" "windows" "mac os" "unix" "android"
do
echo $name
done
echo "you have selected $name"
结果:
what is your favorite os?
- linux
- windows
- mac os
- unix
- android
#? 3
mac os
#? 5
#?用来提示用户输入菜单编号;ctrl+d组合键,作用是结束select in循环。
每次循环时select都会要求用户输入菜单编号,并使用环境变量ps3的值作为提示符,ps3的默认值为#?,修改ps3的值就可以修改提示符。
#!/bin/bash
echo "what is your favorite os?"
select name in "linux" "windows" "mac os" "unix" "android"
do
case $name in
"linux")
echo "linux时一个类unix操作系统,它开源免费,运行在各种服务器设备和嵌入式设备"
break
;;
"windows")
echo "windows是微软开发的个人电脑操作系统,它是闭源收费的"
break
;;
"mac os")
echo "mac os是苹果公司机与unix开发的一款图形界面操作系统,只能运行与苹果提供的硬件志上"
break
;;
"unix")
echo "unix是操作系统的开山鼻祖,现在已经逐渐退出历史舞台,只应用在特殊舞台"
break
;;
"android")
echo "android是有google开发的手机操作系统,目前已经占据了70%的市场份额"
break
;;
*)
echo "输入错误"
esac
done
echo "you have selected $name"
结果:
what is your favorite os?
- linux
- windows
- mac os
- unix
- android
#? 4
unix是操作系统的开山鼻祖,现在已经逐渐退出历史舞台,只应用在特殊舞台
you have selected unix
what is your favorite os?
- linux
- windows
- mac os
- unix
- android
#? 6
输入错误
#? 2
windows是微软开发的个人电脑操作系统,它是闭源收费的
you have selected windows
来源:CSDN
作者:weixin_43384009
链接:https://blog.csdn.net/weixin_43384009/article/details/104317055