Pular para o conteúdo

Erro em menu sair/voltar [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Erro em menu sair/voltar [RESOLVIDO]

Enviado em 13/02/2022 - 20:40h

edit: Eu havia esquecido de colocar o nome da função depois dos colchetes hehe

Olá, sou novo no kali e preciso de uma ajuda com um script!

Estou fazendo um Mini Menu e preciso de algum comando para que quando digite um 1, por exemplo, saia do menu e quando digite 0 volte para o inicio.
Eu até consegui algo mas quando eu digito outros números ele entende como "voltar ao inicio". Eu precisava de algo que "desse outra chance" ao usuario.

Tentei estes mas não tive resultado:

#Primeira tentativa, a que emite o erro de qualquer outro numero voltar ao inicio e não só o 1
           echo ""
echo "Digite 1 para voltar ao menu ou 0 para sair"
read bck
if [ $bck -eq 1 ]
then
Menu
elif [ $bck -eq 0 ]
then
clear;
exit;
fi


#Como usei "IF", tentei colocar um echo no "ELSE" para alertar que a opção estava incorreta mas ele não da a chance de tentar novamente.. Mas eu já previa este erro
           echo ""
echo "Digite 1 para voltar ao menu ou 0 para sair"
read bck
if [ $bck -eq 1 ]
then
Menu
elif [ $bck -eq 0 ]
then
clear;
exit;
else
echo "Opção errada, tente novamente"
fi



#Tentei colocar isso dentro de uma função mas quando eu fecho os colchetes, a função anterior é fechada e esta fica em aberto
exemplo1() {
[...]
menusair() {
echo ""
echo "Digite 1 para voltar ao menu ou 0 para sair"
read bck
if [ $bck -eq 1 ]
then
Menu
elif [ $bck -eq 0 ]
then
clear;
exit;
fi

}

}






Responder tópico

2. Re: Erro em menu sair/voltar [RESOLVIDO]

Melhor resposta

Enviado em 13/02/2022 - 22:19h

eu_linuxplayer escreveu:

edit: Eu havia esquecido de colocar o nome da função depois dos colchetes hehe

Olá, sou novo no kali e preciso de uma ajuda com um script!

Estou fazendo um Mini Menu e preciso de algum comando para que quando digite um 1, por exemplo, saia do menu e quando digite 0 volte para o inicio.
Eu até consegui algo mas quando eu digito outros números ele entende como "voltar ao inicio". Eu precisava de algo que "desse outra chance" ao usuario.

Tentei estes mas não tive resultado:

#Primeira tentativa, a que emite o erro de qualquer outro numero voltar ao inicio e não só o 1
           echo ""
echo "Digite 1 para voltar ao menu ou 0 para sair"
read bck
if [ $bck -eq 1 ]
then
Menu
elif [ $bck -eq 0 ]
then
clear;
exit;
fi


#Como usei "IF", tentei colocar um echo no "ELSE" para alertar que a opção estava incorreta mas ele não da a chance de tentar novamente.. Mas eu já previa este erro
           echo ""
echo "Digite 1 para voltar ao menu ou 0 para sair"
read bck
if [ $bck -eq 1 ]
then
Menu
elif [ $bck -eq 0 ]
then
clear;
exit;
else
echo "Opção errada, tente novamente"
fi



#Tentei colocar isso dentro de uma função mas quando eu fecho os colchetes, a função anterior é fechada e esta fica em aberto
exemplo1() {
[...]
menusair() {
echo ""
echo "Digite 1 para voltar ao menu ou 0 para sair"
read bck
if [ $bck -eq 1 ]
then
Menu
elif [ $bck -eq 0 ]
then
clear;
exit;
fi

}

}





Boa noite, seguem sugestões:
#!/bin/bash

function escolha00(){
read -p "Digite 1 para voltar ao menu ou 0 para sair: " bck
case $bck in
0) echo "Sair";exit;;
1) echo "Menu, chamar function Menu";;
*) echo "Opção inválida, tente novamente...";escolha00;;
esac
}

escolha01(){
read -p "Digite 0|1: " resp
if [[ "$resp" =~ (0|1) ]];then
(($resp == "0")) && echo "Sair" || echo "Menu"
else
echo "Opção inválida";
escolha01;
fi
}




______________________________________________________________________
Importante:
lynx --dump https://www.vivaolinux.com.br/termos-de-uso/ | sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder