Я не уверен, какова политика при задании последующих вопросов. Пожалуйста, извините, если я нарушаю протокол. Ранее я создавал меню в bash ( Здесь )
И до сих пор у меня это работает очень хорошо. Код здесь.
while [[ 1 ]]
do
cat -n "$dumpfile"
read -p "Please make a selection, select q to quit: " choice
case $choice in
# Check for digits
[0-9] ) dtvariable=$(sed -n "$choice"p "$dumpfile")
$dtvariable ;;
q|Q)
break
;;
*)
echo "Invalid choice"
;;
esac
done
За исключением того, что это прекрасно работает для пунктов меню до 9. Меню будет динамичным - может иметь 1 пункт, 20 пунктов или 197 пунктов. Я попытался изменить [0-9] на [0-9] [0-9], чтобы посмотреть, будет ли это 12. Но это не так. Кто-нибудь может поставить меня на правильный путь? Я полагаю, я мог бы просто удалить часть [0-9] и взять все, что не q. Но не лучше ли искать цифры?
Заранее спасибо.