Linux|Linux shell select菜单选择实现代码
假设需要在shell下实现一个菜单,估计会使用 循环和read实现交互,在学习中发现一个select可在shell下很方便的实现这种交互菜单
1. select 语法
select var in ...do #your codedone
2. 示例
#! /bin/bash echo "what is your favorite color :" select color in "red" "blue" "green" "white" "black" doecho "you choose is $color"break done
Bash Shell中的select命令简单使用示例
前言
今天刚好写了一个自动化打包脚本,再次使用到了bash shell,好幸福的感觉。这里主要是想介绍一下select命令,这个命令
可以帮助我们完成菜单选择功能。
格式
我今天也是第一次使用select流程控制,在php、Java、C这些语言中并没有实现select功能。Bash Shell中,select格式如
下:
select $var in ${list[@]}dostatements that can use $vardone
在select执行时,会根据list数组给出选择菜单,用户选择后的结果保存在$var变量中,然后执行statements语句。执行完成
后,再次给出菜单,等待用户选择。如果用户想跳出选择循环,需要在循环体中根据条件增加break语句。
示例
给出一个select的示例,大家可以参考:
#!/bin/bashfruits=("apple""pear""orange""watermelon")echo "Please guess which fruit I like :"select var in ${fruits[@]}doif [ $var = "apple" ]; thenecho "Congratulations, you are my good firend!"breakelseecho "Try again!"fidone
例子2
#!/bin/shselect ch in "begin" "end" "exit"docase $ch in"begin")echo "start something"; ; "end")echo "stop something"; ; "exit")echo "exit"break; ; ; *)echo "ignorant"; ; esacdone;
运行效果:
yuxuecheng@linux:~/shellSource> ./select_test.sh【Linux|Linux shell select菜单选择实现代码】说明:select是循环选择,一般与case语句使用。
1) begin
2) end
3) exit
#? 1
start something
#? 2
stop something
#? 4
ignorant
#? begin
ignorant
#? 3
exit
推荐阅读
- Shell-Bash变量与运算符
- Linux下面如何查看tomcat已经使用多少线程
- Beego打包部署到Linux
- Linux|109 个实用 shell 脚本
- Spring|Spring Boot之ImportSelector
- linux定时任务contab
- 芯灵思SinlinxA33开发板Linux内核定时器编程
- performSelectorOnMainThread:withObject:waitUntilDone:参数设置为NO或YES的区别
- day16-Linux|day16-Linux 软件管理
- 如何在阿里云linux上部署java项目