[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:32:33 -0000 |
User-agent: |
eGroups-EW/0.82 |
boa tarde Julio, seu trabalho esta me ajudando muito e to cada vez mais
animado, tinha feito algumas alterações no script e cheguei a postar na respota
do Rodrigo, mas vou fazer as otimizadas que vc sugeriu, quanto ao w era só pra
testes e nem tirei ele antes de mandar a duvida para a lista.
--- Em address@hidden, "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
> >
> >
> >
>