shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Menu em script


From: Leogildo
Subject: Re: Menu em script
Date: Thu, 06 Oct 2005 00:06:24 -0000
User-agent: eGroups-EW/0.82

Ae Marcos,

Segue um modelo adaptado da solução que utilizo (os .... foram 
adicionados apenas para forçar a identação):

monta_menu () {
....echo "Empresa" 
....echo "Bem vindo" 
....echo " " 
....echo "Opcoes para manutencao em nosso sistema:" 
....echo " " 
....echo "1 - Inclusao" 
....echo "2 - Consulta" 
....echo "3 - Bloqueio" 
....echo "4 - Manutencao" 
....echo " " 
....echo "F - Finaliza" 
....echo " " 
....read -p "Entre com a opcao: " Lib
}

while true
do
....clear
....monta_menu

....case $Lib in

........1)  exec script_1;;
........2)  exec script_2;;
........3)  exec script_3;;
........4)  exec script_4;;
.....[fF]) echo "Obrigado por utilizar nosso sistema"; 
...........echo "Até logo"; 
...........sleep 4; 
...........clear; 
...........break;; 
........*) echo "Opcao invalida!!! -- Tecle <ENTER>"; read enter;;

   esac
done 

Obs.: optando por chamar sub-shells pelo comando "exec", não se 
esquecer de inserir a chamada do script anterior (normalmente na 
última linha) do sub-shell.

T+

--- Em address@hidden, Marcos Notari Junior 
<marcosnj@i...> 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]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]