使用Alphabets作为选项的Bash select语句

时间:2016-08-11 12:01:14

标签: bash shell select case

我目前正在使用select语句对菜单进行编码,如下所示。

options=("Say Hello" "Say Bye" "Say Go Away")
select alphabets in "${options}";
do
     case $REPLY in
        a) echo Hello ;;
        b) echo Bye ;;
        c) echo GoAway; break;;
     esac
done

我希望输出显示:

a) Say Hello
b) Say Bye
c) Say Go away

但输出显示的数字如下所示:

1) Say Hello
2) Say Bye
3) Say Go away

无论如何,我是否可以将字母作为选项? 谢谢!

1 个答案:

答案 0 :(得分:1)

判断:

$ help select
select: select NAME [in WORDS ... ;] do COMMANDS; done
    The WORDS are expanded, generating a list of words.  The
    set of expanded words is printed on the standard error, each
    preceded by a number.  [...]

我害怕你想要的东西是不可能的。 选择将编号, 并且此行为无法配置为使其成为字母。

如果您想查看字母选项,则必须实现自己的选项。