[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
> >
> >
> >
>