select 表达式是一种bash的扩展应用,动作包括:
自动用1,2,3,4列出菜单 (没有echo指令,自动显示菜单)
自动read输入选择 (没有 read指令,自动输入)
赋值给变量 (没有赋值指令,自动输入数字后,赋值字符串给变量)
select典型例子
| [macg@machome ~]$ vi test.sh echo "What is your favourite OS?" select var in "Linux" "Gnu Hurd" "Free BSD" "Other"; do break select本身就是一个循环,break是当选择后,就跳出循环 done echo "You have selected $var" |
| [macg@machome ~]$ sh test.sh What is your favourite OS? 1) Linux 2) Gnu Hurd 3) Free BSD 4) Other #? 2 You have selected Gnu Hurd Select输入选择是数字,但变量值却是字符串 |
虽然select本身就是循环,但不建议用他的循环 ,因为select虽然循环却不再显示菜单,只循环输入,所以seleckt 语句干脆直接用break,只执行一次,在其上另配while循环
| while echo "display current netconfig:" do select vi in "ifconfig -a" "hosts" "netmasks" "quit" do case $vi in 虽然输入是1,2,3,4,5,但case变量输入值却是菜单项(字符串) "ifconfig -a") /sbin/ifconfig -a;; "hosts") more hosts;; "netmasks") more netmasks;; "quit") return 0;; *) continue;; esac break done done |
| $ sh test display current netconfig 1) ifconfig -a 3) netmasks 2) hosts 4) quit |
本文介绍了Bash shell中select命令的使用方法,包括如何创建菜单并读取用户的选择,以及如何将选择的结果赋值给变量。同时展示了通过select进行简单的交互式脚本编程的例子。
273

被折叠的 条评论
为什么被折叠?



