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

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

Re: case com opção de retorno e tratamento de opção


From: Anderson Junior
Subject: Re: case com opção de retorno e tratamento de opção
Date: Wed, 16 Oct 2013 18:12:09 -0000
User-agent: eGroups-EW/0.82

Obrigado pela dica Rodrigo, esta assim agora meu script

#!/bin/bash                                    
# Cadastro de motos                            
function inicio(){                             
clear                                          
echo ---------------------------               
echo n - Novo cadastro                         
echo a - Alterar cadastro                      
echo r - Excluir cadastro                      
echo x - Retornar                              
echo ---------------------------               
echo -n "Opção: "                              
read vopcao                                    
cmenu $vopcao                                  
}                                              

function cmenu(){
  case $1 in     
    n) manutreg ;;
    a) echo "menu não implementado" ;;
    r) echo "menu não implementado" ;;
    x) ./sis_cad ;;                   
    *) {                              
        echo "Opção invalida!"        
        sleep 2                       
        ./sis_cad_motos               
       } ;;
  esac
}

function manutreg(){
echo -n "Marca: "
read marca
echo -n "Modelo: "
read modelo
echo -n "Cor: "
read cor
echo -n "Marca: "
read placa
idmoto=`wc -l < dbmotos`
echo $idmoto";"$marca";"$modelo";"$cor";"$placa >> dbmotos
echo -n "Cadastrar nova moto?[s ou n]: "
read opcao
returmenu $opcao
}


function returmenu(){
opcao=$1
opcao=$(echo $opcao | tr SN sn)
  case $opcao in
    s) manutreg ;;
    n) $0 ;;
    *) {
        echo -n "Opção invalida! digite [s ou n]"
        read opcao
        returmenu $opcao
       } ;;
  esac
}

#programa
inicio


é um script simples que quando terminado servira para controlar quilometragem, 
nada complexo, mas ta me ajudando a entender...

Att.
Anderson Junior

--- Em address@hidden, Rodrigo Tenorio <rodrigo.boechat.tenorio@...> escreveu
>
> Acho que usando funções no seu código, você será capaz de fazer o que
> deseja.
> O case simplesmente tratará o "menu" e executará o necessário de acordo com
> a entrada do usuário.
> 
> A quick search and...
> https://www.google.com.br/search?q=shellscript+functions&client=ubuntu&channel=cs&oq=shellscript+functions&aqs=chrome.0.69i57.7183j0&sourceid=chrome&ie=UTF-8
> 
> Particularmente este aqui:
> http://www.cyberciti.biz/faq/bash-shell-script-function-examples/
> 
> I hope I have helped.
> :)
> 
> Em quarta-feira, 16 de outubro de 2013, Anderson Junior escreveu:
> 
> > **
> >
> >
> > boa noite caros amigos, estou lendo estes artigos
> > http://wiki.softwarelivre.org/TWikiBar/BatePapos e aprendendo shell,
> > muito satisfeito e agradecido, realmente shell é o bicho, neste momento to
> > fazendo alguns scripts para testar oque vou aprendendo, e estou com uma
> > dificuldade neste:
> >
> > #!/bin/bash
> > # Cadastro de motos
> > clear
> > echo -n "Marca: "
> > read marca
> > echo -n "Modelo: "
> > read modelo
> > echo -n "Cor: "
> > read cor
> > echo -n "Placa: "
> > read placa
> > idmoto=`wc -l < dbmotos`
> > echo $idmoto";"$marca";"$modelo";"$cor";"$placa >> dbmotos
> > echo -n "Cadastrar nova moto?[s ou n]: "
> > read opcao
> > opcao=$(echo $opcao | tr SN sn)
> > case $opcao in
> > s) $0 ;;
> > n) ./sis_cad ;;
> > *) echo -n "Opç invalida digite s ou n!" && read opcao ;&
> > w) $0 ;;
> > esac
> >
> > meu problema é nessa linha onde ele trata se o usuario quer sair ou
> > digitar novo registro, caso ele apert n ou s funciona, mas se clicar alguma
> > outra coisa eu não concegui entender como tratar, qualquer ajuda é bem
> > vinda, criticas tbm, abraços.
> >
> > Att.
> > Anderson Junior
> >
> >  
> >
>




reply via email to

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