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:34:23 -0000
User-agent: eGroups-EW/0.82

justamente Robson, quero que o programa seja novamente chamado, antes de ler a 
mensagem eu ja tinha postado algo, mas vou tentar melhorar o código com o uso 
do while

--- Em address@hidden, Robson Alexandre <alexandrerobson@...> escreveu
>
> Bom Dia a todos,
> 
> acho q o q o Anderson quer Júlio, é com $0 é chamar novamente o programa em
> loop.
> Nesse caso seria melhor fazer um while : tratando as variáveis como no
> exemplo do aurelio.net em
> http://aurelio.net/shell/dialog/#menuloop
> 
> #!/bin/bash
> # Cadastro de motos
> while :
> do
> clear
> read -p "Marca: " marca
> read -p "Modelo: " modelo
> read -p "Cor: " cor
> read -p "Placa: " placa
> idmoto=`wc -l < dbmotos`
> echo $idmoto";"$marca";"$modelo";"$cor";"$placa >> dbmotos
> read -p "Cadastrar nova moto?[s ou n]: " opcao
> case $opcao in
>     [Ss]) break;;
>     [Nn]) ./sis_cad && exit;;
>     *)  echo -n "Opção invalida digite s ou n!"
> esac
> done
> 
> Atenciosamente
> Robson Alexandre
> 
> 
> 
> 
> Em 16 de outubro de 2013 10:46, Julio C. Neves <julio.neves@...>escreveu:
> 
> > **
> >
> >
> > Anderson, agradeço o elogio ao meu trabalho que publiquei em
> > http://wiki.softwarelivre.org/TWikiBar/BatePapos
> >
> > Dando uma otimizada no seu código:
> >
> > #!/bin/bash
> > # Cadastro de motos
> > clear
> > read -p "Marca: " marca
> > read -p "Modelo: " modelo
> > read -p "Cor: " cor
> > read -p "Placa: " placa
> > idmoto=`wc -l < dbmotos`
> > echo $idmoto";"$marca";"$modelo";"$cor";"$placa >> dbmotos
> > read -p "Cadastrar nova moto?[s ou n]: " opcao
> > case $opcao in
> >     [Ss]) $0 ;;
> >     [Nn]) ./sis_cad ;;
> >     *)  echo -n "Opção invalida digite s ou n!"
> >         read
> > esac
> >
> > Tirei o pedaço a seguir:
> >         read opcao ;&
> > w) $0 ;;
> > porque qdo se o terminador ;&, o próximo bloco será executado 
> > *obrigatoriamente*,
> > ou seja se não for teclado NnSs, o bloco do w.
> >
> > Outra coisa que acho que está furado, é o $0. Essa variável contém o nome
> > do programa, mas antes dela é necessário algum cmd (um echo p.ex.)
> >
> > Abcs,
> > Julio
> > *@juliobash
> > *
> > A partir de 28/10 estarei ministrando um curso de 40 horas em 
> > Curitiba<http://www2.softsell.com.br/?system=treinamentos&id=323&action=read>
> > .*
> > *
> > A partir de 25/11 estarei ministrando um curso de 40 horas no Rio de
> > Janeiro <http://edx.srv.br/treinamento/shell-script/>.
> >
> >
> >
> > Em 16 de outubro de 2013 01:24, Anderson Junior <
> > andersonscinfo@...> 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]