LINUX.ORG.RU

[bash] передача элемента из select'a в другую ф-цию


0

1

Пилю свой .bashrc, много разных функций написал, некоторые используют реализация меню с помощью ф-ции select. Я тут подумал, чем в каждой отдельной ф-ции писать свой select, напишу-ка я унижерсальную функцию меню, которое формируется из аргументов переданных этой функции.

Проблема:

это меню с select'ом считывает для себя сначала ввод, а потом завершается и приходиться ещё раз вводить значение уже для ф-ции, которая вызывает это меню. Как мне присвоить выбранное значение selectom переменной. Или кaкой переменной select присваивает считаное значение?

showmenu(){
PS3='select an option: '
select CHOICE in $@; do
break
done
}

Внутри showmenu будут использоваться те позиционные переменные, с которыми ты вызываешь функцию showmenu.

sin_a ★★★★★ ()
Ответ на: комментарий от baverman

нет, не издеваюсь. понятно, что содержимое пишется в CHOICE, но туда пищется текст, который был в $@, а мне нужен номер, который я ввёл.

1) строка1
2) строка2
3) строка3

если я выберу 1) то в CHOICE будет, «строка1», a мне нужно «1» передать в функцию, котороя вызвала отрисовку меню.

ciiccii ()
Ответ на: комментарий от mosfet

смотрел, проблему я описал. по ссылке уже то, что и меня есть.

ciiccii ()
Ответ на: комментарий от ciiccii

a мне нужно «1» передать в функцию, котороя вызвала отрисовку меню.

$REPLY ? С одновременной проверкой $CHOICE на пустоту.

baverman ★★★ ()
Ответ на: комментарий от ananas

пасиб. до этого варианта я тоже додумался. Пока стоит используется имменно он. А как с select'ом сделать можно, знаешь? Я уже почти пришёл к выводу, что никак.

ciiccii ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.