Вы можете сделать это с помощью встроенной функции select:
echo "Main Menu:"
echo -e "\t(a) Add a contact"
echo -e "\t(b) Remove a contact"
echo -e "\t(c) Seach contacts"
echo -e "\t(d) Display contacts"
echo -e "\t(e) Exit"
echo "Please enter your choice:"
choices=("a" "b" "c" "d" "e" "Quit")
select choice in "${choices[@]}"
do
case $choice in
"a")
echo "you chose choice a"
;;
"b")
echo "you chose choice b"
;;
"c")
echo "you chose choice c"
;;
"d")
echo "you chose choice d"
;;
"e")
echo "you chose choice e"
;;
"Quit")
break
;;
*) echo invalid option;;
esac
done
Это проще в использовании, и вы можете прочитать свой файл choices из файла. Также, если вы хотите выйти из меню для любого choice, просто добавьте break после каждого choice.