Bash Shell中的select命令简单使用示例

前言
今天刚好写了一个自动化打包脚本,再次使用到了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