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

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

Re: [shell-script] case com opção de retorno e tratamento de opção


From: Julio C. Neves
Subject: Re: [shell-script] case com opção de retorno e tratamento de opção
Date: Wed, 16 Oct 2013 10:46:31 -0300

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.
A partir de 25/11 estarei ministrando um curso de 40 horas no Rio de Janeiro.



Em 16 de outubro de 2013 01:24, Anderson Junior <address@hidden> 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]