wdcsx 发表于 2018-8-24 09:22:30

shell编程——select语句

  转载自:http://blog.sina.com.cn/s/blog_6151984a0100el04.html
  select 表达式是一种bash的扩展应用,动作包括:
   自动用1,2,3,4列出菜单 (没有echo指令,自动显示菜单)
   自动read输入选择 (没有 read指令,自动输入)
   赋值给变量(没有赋值指令,自动输入数字后,赋值字符串给变量)
   select典型例子
$ 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"
$ sh test.sh  What is your favourite OS?
  1) Linux
  2) Gnu Hurd
  3) Free BSD
  4) Other
  #? 2
  You have selected Gnu HurdSelect输入选择是数字,但变量值却是字符串
  虽然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 -a3) netmasks
  2) hosts4) quit
  

页: [1]
查看完整版本: shell编程——select语句