2016-08-11 4 views
0

В настоящее время я кодирую меню, используя оператор select, как показано ниже.Bash select statement with Alphabets as options

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

Судя по этому:

$ 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. [...] 

Я боюсь, что вы хотите, не представляется возможным. Выбор будет пронумерован, , и это поведение не настраивается, чтобы сделать его буквенным.

Если вы хотите увидеть алфавитные параметры, вам необходимо реализовать свои собственные.

+0

Большое вам спасибо! Я не думал, что у него есть страница справки! Ура !! – JamesPoppycock