Я не уверен, какова здесь политика в отношении того, чтобы задавать дополнительные вопросы. Поэтому, пожалуйста, извините меня, если я нарушаю протокол. Ранее я создавал меню в 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. Но не лучше ли поискать цифры?
Заранее спасибо.