Como você deseja imprimir informações sobre a escolha A, B etc somente na primeira vez, inicie while
loop depois de imprimi-lo :
function mainMenu(){
echo -e "\nMain Menu:"
echo " A. Process Managements Utilities"
echo " B. Memory Managements Utilities"
echo " C. Exit"
while :
do
read -p "Select :" menuSelect
echo
case $menuSelect in
a|A) processMgmt;;
b|B) memoryMgmt;;
c|C) exit 0;;
*)echo "Invalid Input"
echo
;;
esac
done
}
Exemplo de saída (que é esperado da pergunta):
Main Menu:
A. Process Managements Utilities
B. Memory Managements Utilities
C. Exit
Select :q
Invalid Input
Select :q
Invalid Input
Por meio disso, as informações sobre a seleção de opções são impressas uma vez quando a função mainMenu
é chamada, em seguida, while
loop read
a entrada e case
fazem o trabalho que você deseja. Em caso de entrada inválida , while
loop perguntará novamente por read -p "Select"
.
Espero que isso ajude