前言
今天刚好写了一个自动化打包脚本,再次使用到了bash shell,好幸福的感觉。这里主要是想介绍一下select命令,这个命令可以帮助我们完成菜单选择功能。
格式
我今天也是第一次使用select流程控制,在php、Java、C这些语言中并没有实现select功能。Bash Shell中,select格式如下:
  select $var in ${list[@]} 
  do 
    statements that can use $var 
  done 
在select执行时,会根据list数组给出选择菜单,用户选择后的结果保存在$var变量中,然后执行statements语句。执行完成后,再次给出菜单,等待用户选择。如果用户想跳出选择循环,需要在循环体中根据条件增加break语句。
示例
给出一个select的示例,大家可以参考:
  #!/bin/bash 
  fruits=( 
    "apple" 
    "pear" 
    "orange" 
    "watermelon" 
  ) 
  echo "Please guess which fruit I like :" 
  select var in ${fruits[@]} 
  do 
    if [ $var = "apple" ]; then 
      echo "Congratulations, you are my good firend!" 
      break 
    else 
      echo "Try again!" 
    fi 
  done