[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] Menu em script
From: |
Jorge Antonio Macedo de Mello - DATAPREVES |
Subject: |
RES: [shell-script] Menu em script |
Date: |
Wed, 5 Oct 2005 21:20:27 -0300 |
Marcos
Tem soluçoes mais elegantes essa dai tambem funciona coloquei seu script em
uma estrutura de cases.
#!/bin/bash
#
while :
do
clear
echo "Empresa"
echo "Bem vindo"
echo " "
echo "Opçs para manutenç em nosso sistema:"
echo " "
echo "Para opç 1 digite: 1"
echo "Para opç 2 digite: 2"
echo "Para opç 3 digite: 3"
echo "Para opç 4 digite: 4"
echo "Para sair: 0"
echo " "
read -p "Entre com a opcao: " Lib
case $Lib in
1) while :
do
clear
echo "Empresa"
echo " "
echo "Voce esta em Manutencao: Opcao 1"
echo " "
echo "Sub Opcao 1"
echo "Sub Opcao 2"
echo "Para sair menu de Manutencao: 0"
read -p "Entre com a opcao: " op_sub1
case $op_sub1 in
1) echo "Comando - sub-opcao 1"
sleep 3
shift
;;
2) echo "Comando - sub-opcao 2"
sleep 3
shift
;;
0) echo "Obrigado por utilizar nosso sistema"
echo "Atéogo"
sleep 4
clear
break
;;
*) echo "Opç nãcadastrada."
sleep 3
shift
;;
esac
done
;;
2) echo "comando 2"
echo "Obrigado por utilizar nosso sistema"
echo "Atéogo"
sleep 2
shift
;;
3) echo "comando 3"
echo "Obrigado por utilizar nosso sistema"
echo "Atéogo"
sleep 3
shift
;;
4) echo "comando 4"
echo "Obrigado por utilizar nosso sistema"
echo "Atéogo"
sleep 3
shift
;;
0) echo "Obrigado por utilizar nosso sistema"
echo "Atéogo"
sleep 4
clear
break
;;
*) echo "Esta opç nãencontra-se no sistema."
echo "Favor entrar com as opçs: 1-4"
echo "Para sair digite: 0"
sleep 3
shift
esac
done
-----Mensagem original-----
De: Marcos Notari Junior [mailto:address@hidden]
Enviada em: quarta-feira, 5 de outubro de 2005 18:48
Para: address@hidden
Assunto: [shell-script] Menu em script
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
---------------------------------------------------------------------
Links do Yahoo! Grupos
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RES: [shell-script] Menu em script,
Jorge Antonio Macedo de Mello - DATAPREVES <=