marimbondo
(usa Outra)
Enviado em 07/11/2019 - 20:43h
É interessante sua pergunta...
Já ví vários scripts que as pessoas insistem em usar uma tela de menus, submenus etc...
Mas sinceramente, não é o jeito Unix de se fazer um script.
O "menu" de opções é o manual do script, geralmente a gente imprime ele com a opção "-h"..
Então se o manual for bem escrito, o cara escolhe as opções e subopções "antes" de rodar o script.
Sugiro você aprender como se usa o built-in do Bash chamado getopts...
Veja as referências abaixo.
Geralmente, eu não uso o loop do getopts dentro de uma função do script...
Você pode chamar funções a partir do loop do getopts ou configurar variáveis e mais na frente do script, as variáveis pode executar funções específicas..
Abaixo, mando um exemplo de um while loop para o getopts que uso nos meus scripts
#!/bin/bash
#
# v0.1 07/nov/2019 por XYZ
HELP="SINOPSE
Aqui vai o texto de ajuda do manual..
OPÇÕES
-h Mostra esta Ajuda.
-v Mostra a versão deste script."
# Parse options
while getopts ":hv" opt; do
case ${opt} in
h ) # Help
echo -e "${HELP}"
exit 0
;;
v ) # Version of Script
head "${0}" | grep -e '# v'
exit 0
;;
\? )
echo "Invalid Option: -$OPTARG" 1>&2
exit 1
;;
esac
done
shift $((OPTIND -1))
http://www.dicas-l.com.br/arquivo/getopts_opcoes_em_bash_script.php
https://www.it-swarm.net/pt/bash/um-exemplo-de-como-usar-getopts-no-bash/1073760063/
https://www.ibm.com/developerworks/community/blogs/752a690f-8e93-4948-b7a3-c060117e8665/entry/getopt...
https://sobrelinux.info/questions/843211/bash-help-honing-a-custom-function
https://linuxconfig.org/how-to-use-getopts-to-parse-a-script-options