Linux(shell,select实现菜单选择)

主要介绍了Bash Shell中的select命令简单使用示例,通常用于流程控制功能的实现,需要的朋友可以参考下

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\" do     echo \"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\"do    case $ch in    \"begin\")        echo \"start something\"        ;;    \"end\")        echo \"stop something\"        ;;    \"exit\")        echo \"exit\"        break;        ;;    *)        echo \"ignorant\"        ;;    esacdone;

运行效果:

yuxuecheng@linux:~/shellSource> ./select_test.sh
1) begin
2) end
3) exit
#? 1
start something
#? 2
stop something
#? 4
ignorant
#? begin
ignorant
#? 3
exit

说明:select是循环选择,一般与case语句使用。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 203304862@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/7239.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注