[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Menu em script
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] Menu em script |
Date: |
Wed, 5 Oct 2005 21:03:58 -0300 |
Ao inves de tanto if, que tal usar um case ?
Fica mais lógico. E eu aglutinaria as opções em sub funções.
funcao1(){
echo "1"
}
funcao2(){
echo "2"
}
read -p "opcao" Lib
case $Lib in
1) funcao1 ;;
2) funcao2 ;;
*) echo "opcao errada" ;;
esac
Em 05/10/05, Marcos Notari Junior<address@hidden> escreveu:
> Caros,
>
> Estou tentando fazer um menu, onde uma determinada empresa vai acessar via
> ssh. Criei o menu, porém ele está me apresentando falhas. Neste menu, o
> usuário deve escolher uma opção, que no caso vai ser numérica.
> Quando o usuário digita uma letra, ou um número que não encontra-se no
> menu,
> ele está saindo do script sozinho, e quando é precionado Enter sem uma
> opção
> ele retorna outro erro. Só para constar, quando o usuário utiliza o ssh, eu
> defini o shell do usuário como o script no passwd.
>
> O código é este abaixo:
>
> while : ;
> do
>
> clear
>
> echo "Empresa"
> echo "Bem vindo"
> echo " "
> echo "Opções para manutenção em nosso sistema:"
> echo " "
> echo "Para opção 1 digite: 1"
> echo "Para opção 2 digite: 2"
> echo "Para opção 3 digite: 3"
> echo "Para opção 4 digite: 4"
> echo "Para sair: 0"
> echo " "
>
> read -p "Entre com a opção: " Lib
> if [ "$Lib" != {0-9} ]; then
> echo "Formato invalido!"
> shift
> fi
>
>
> if (( $Lib == 0 )); then
> echo "Obrigado por utilizar nosso sistema"
> echo "Até logo"
> sleep 4
> clear
> break
>
> elif (( $Lib == 1 )); then
> clear
> echo "Empresa"
> echo " "
> echo "Você está em: Manutenção - Opção 1"
> echo " "
> echo "Sub Opção 1"
> echo "Sub Opção 2"
> echo "Para sair: 0"
> read -p "Opção: " op_sub1
> if [ "$Lib" != {0-9} ]; then
> echo "Formato invalido!"
> shift
> fi
>
> if (( $op_sub1 == 0 )); then
> echo "Obrigado por utilizar nosso sistema"
> echo "Até logo"
> sleep 4
> clear
> break
> elif (( $op_sub1 == 1 )); then
> echo "Comando - sub-opção 1"
> sleep 3
> shift
> elif (( $op_sub1 == 2 )); then
> echo "Comando - sub-opção 2"
> sleep 3
> shift
> else
> echo "Opção não cadastrada."
> sleep 3
> shift
> fi
>
> elif (( $Lib == 2 )); then
> echo "comando 2"
> echo "Obrigado por utilizar nosso sistema"
> echo "Até logo"
> sleep 3
> shift
>
> elif (( $Lib == 3 )); then
> echo "comando 3"
> echo "Obrigado por utilizar nosso sistema"
> echo "Até logo"
> sleep 3
> shift
>
> elif (( $Lib == 4 )); then
> echo "comando 4"
> echo "Obrigado por utilizar nosso sistema"
> echo "Até logo"
> sleep 3
> shift
>
> else
> echo "Esta opção não encontra-se no sistema."
> echo "Favor entrar com as opções: 1-4"
> echo "Para sair digite: 0"
> sleep 3
> shift
> fi
> done
>
>
> O que posso fazer neste código para que não ocorram mais erros?
> E se alguém tiver uma solução melhor q esta, agradeceria.
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
>
>
>
> Yahoo! Grupos, um serviço oferecido por:
>
> PlayStation 2 a partir de R$ 659! Parcele!Celular Motorola com câmera a
> partir de R$ 449!
> Siemens SL65 com câmera a partir de R$ 730! Câmeras Digitais a partir de
> apenas R$ 399! Parcele!
> CD Players Pioneer a partir de R$ 369!MP3 Player iPod a partir de R$ 799!
> Parcele!
> ________________________________
> Links do Yahoo! Grupos
>
>
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> Para sair deste grupo, envie um e-mail para:
> address@hidden
>
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
> Yahoo!.
- Menu em script, Marcos Notari Junior, 2005/10/05
- Re: [shell-script] Menu em script, Fabiano Caixeta Duarte, 2005/10/05
- Re: [shell-script] Menu em script, marcio moreira, 2005/10/05
- Re: [shell-script] Menu em script,
Tiago Barcellos Peczenyj <=
- Re: Menu em script, Leogildo, 2005/10/05
- Re: [shell-script] Menu em script, moysespr, 2005/10/05
- RE: [shell-script] Menu em script, Reinaldo Marques de Lima, 2005/10/06