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

[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




 





reply via email to

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