Erro em menu sair/voltar [RESOLVIDO]

1. Erro em menu sair/voltar [RESOLVIDO]

Miguel Silva
eu_linuxplayer

(usa Kali)

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

}

}








  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

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
______________________________________________________________________






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts