|
From: | Julio C. Neves |
Subject: | Re: [shell-script] case com opção de retorno e tratamento de opção |
Date: | Wed, 16 Oct 2013 12:36:28 -0300 |
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#!/bin/bash# Cadastro de motoswhile :doclearread -p "Marca: " marcaread -p "Modelo: " modeloread -p "Cor: " corread -p "Placa: " placaidmoto=`wc -l < dbmotos`echo $idmoto";"$marca";"$modelo";"$cor";"$placa >> dbmotosread -p "Cadastrar nova moto?[s ou n]: " opcaocase $opcao in[Ss]) break;;[Nn]) ./sis_cad && exit;;*) echo -n "Opção invalida digite s ou n!"esacdoneAtenciosamenteRobson AlexandreEm 16 de outubro de 2013 10:46, Julio C. Neves <address@hidden> escreveu:Anderson, agradeço o elogio ao meu trabalho que publiquei em http://wiki.softwarelivre.org/TWikiBar/BatePaposDando uma otimizada no seu código:#!/bin/bash# Cadastro de motosclearread -p "Marca: " marcaread -p "Modelo: " modeloread -p "Cor: " corread -p "Placa: " placaidmoto=`wc -l < dbmotos`echo $idmoto";"$marca";"$modelo";"$cor";"$placa >> dbmotosread -p "Cadastrar nova moto?[s ou n]: " opcaocase $opcao in[Ss]) $0 ;;[Nn]) ./sis_cad ;;*) echo -n "Opção invalida digite s ou n!"readesac
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.)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
[Prev in Thread] Current Thread [Next in Thread]
- case com opção de retorno e tratamento de opção, Anderson Junior, 2013/10/16
- Re: [shell-script] case com opção de retorno e tratamento de opção, Rodrigo Tenorio, 2013/10/16
- Re: case com opção de retorno e tratamento de opção, Anderson Junior, 2013/10/16
- Re: [shell-script] case com opção de retorno e tratamento de opção, Julio C. Neves, 2013/10/16
- Re: [shell-script] case com opção de retorno e tratamento de opção, Robson Alexandre, 2013/10/16
- Re: [shell-script] case com opção de retorno e tratamento de opção, Julio C. Neves <=
- Re: case com opção de retorno e tratamento de opção, Anderson Junior, 2013/10/16
- Re: case com opção de retorno e tratamento de opção, Anderson Junior, 2013/10/16
- Re: case com opção de retorno e tratamento de opção, Anderson Junior, 2013/10/16
- Prev by Date: Re: [shell-script] case com opção de retorno e tratamento de opção
- Next by Date: Re: case com opção de retorno e tratamento de opção
- Previous by thread: Re: [shell-script] case com opção de retorno e tratamento de opção
- Next by thread: Re: case com opção de retorno e tratamento de opção
- Index(es):