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

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

Re: Erro com variaveis!


From: Benedito Portela
Subject: Re: Erro com variaveis!
Date: Mon, 15 Jan 2007 01:09:17 -0000
User-agent: eGroups-EW/0.82

O problema não esta na variavel do case, mas na outra variavel que era
pra ser a referencia do que esta conectado antes pra que possa ser
deconectado pelas opções da variavel $sel !
Esse script é só o começo, o que quero fazer é mais complexo, mas não
tão dificil! Vai de fazer e desfazer conexões do alsa/jack entre
programas e perifericos até envio de messagem em Hex pelo comando
amidi, por isso eu perguntei, em outro topico, como se converte de
decimal pra Hexdecimal! Bom se fosse Basic eu tiraria isso tudo de
letra, será que tem alguma linguagem Basic pra linux? Assim eu
deserolaria mais rapido! Mesmo assim já estou envolvido com comando do
shell então prefiro aprede-lo! Creio que será muito util para mim e em
qualquer projeto futuro!
Bené


--- Em address@hidden, "Tiago Barcellos Peczenyj"
<tiago.peczenyj@...> escreveu
>
> Ola
> faça alguns testes, troque o seu read , case... esac por:
> 
>  read -sn1 sel
> 
>  case "${sel}" in
> 
>  ";" ) echo 1 ; dest='FLU' ;;
> 
>  "." ) echo 2 ; dest='Zyn' ;;
> 
>  "," ) echo 3 ; dest='bris';;
> 
> *) echo "nenhum desses!" ;;
>  esac
> 
> Em shell é possivel definir funções no formato
> 
> nome_da_funcao(){
>   comando 1
>   comando 2
>   ...
>   comando N
> }
> 
> vc pode declarar variaveis dentro e fora das funções, entretanto se vc
> quer que ela seja local, deve informar isso na forma
> 
> local VARIAVEL
> 
> 
> Suas funções podem ser parametrizadas, nesse caso os parametros são
> lidos atraves das variaveis $1 .. $9 , $* $@ e $# conforme o artigo
> que escrevi abaixo:
> 
> http://centosbr.org/modules/smartsection/item.php?itemid=108
> 
> (Alias estou devendo outros artigos, enfim, sou brasileiro e não
desisto nunca)
> 
> Seu script é pequeno, não vejo por que criar uma função alem de
> exercitar este conceito. Vc precisa investigar o funcionamento do
> mesmo para entender por que não está funcionando como vc gostaria.
> 
> Por fim, tente usar a opção de debug do shell com set +x
> 
> []´s Tiago
> 
> On 1/14/07, Benedito Portela <benep2@...> wrote:
> >
> >
> > Pessoal estou fazendo um script e não estou sabendo como resolver um
> > problema com variaveis! Talvez seja um erro bobô, pois shell parece
> > com outras linguagens mas tem varias particularidades! Bom o problema
> > é esse:Fiz um loop como While : do e com três variaveis, melhor que
> > esplicar é mostrar:
> >
> > #!/bin/bash
> >
> > #Programa de Controle
> >
> >
> > dest='FLUID'
> > dest_ant='FLUID'
> >
> > aconnect Midi $dest
> >
> > while :
> >
> > do
> >
> > read -sn1 sel
> >
> > case $sel in
> >
> > ";" ) dest='FLU' ;;
> >
> > "." ) dest='Zyn' ;;
> >
> > "," ) dest='bris';;
> >
> > esac
> >
> > aconnect Midi $dest
> >
> > aconnect Midi $dest_ant -d
> > dest_ant=$dest
> > done
> >
> > O problema é que depois que eu faço o "dest_ant=$dest" as duas
> > variaveis ficam sempre iguais! Começa o loop denovo e aperto a tecla a
> > $dest ganha outro valor e automaticamente a $dest_ant tb! No basic
> > isso funcionaria como eu queria, mas aqui eu não sei qual é logica!
> > Outra coisa, como se faz sub-rotinas tipo como no basic o gosub ou até
> > mesmo o go to ?
> > Obg
> > Bené
> >
> > 
> 
> 
> 
> -- 
> Tiago B Peczenyj
> Linux User #405772
> 
> # cd /pub
> # more beer
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]