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

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

Re: [shell-script] return 0


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] return 0
Date: Wed, 25 Jul 2007 15:19:18 -0300

Eric,

a linha 452 faz o seguinte:

version=`get_gtk_file_ver "$ifile"`
if [ $? -ne 0 ]; then            continue
fi

agora, os returns presentes na função get_gtk_file_ver são ou 0 ou 1 -- e
estes são lidos pelo if imediatamente abaixo, pois esse return é lido pela
variavel de ambiente $?

o que a variavel version recebe é tudo o que a função 'escreve'.

outro exemplo:

dimdim(){
    echo "mil reais"
    return 1
 }
$ mesada=`dimdim`
$ echo $?
1
$ echo $mesada
mil reais

a variavel $? é util para condicionais, como este:

$ mesada=`dimdim` && echo "mesada garantida" || echo "menino levado..."
menino levado...

[]´s Tiago

On 7/25/07, Eric Anderson <address@hidden> wrote:
>
>   Eu já tinha feito esses testes e concluído isso.
>
> Mas...
>
> como o script http://www.pastebin.ca/633421 funcionaria então? Várias
> variáveis tentam receber o valor "returnado" pelas funcoes. =P
>
> Por favor, dêm uma olhada na linha 452.
>
> Simplesmente a variável $version fica vazia, logo dá (o primeiro) erro..
>
> <meio oFF>
> Quem usar slackware e tiver afim de instalar o plugin do adobe rapidinho e
>
> de uma maneira "slacker" dê uma olhada no meu projetinho
> http://slackports.sf.net/
> </meio oFF>
>
> Quando eu estava com slack 11, fiz o pacote e executei normalmente sem
> problema. No slack 12 dá esse erro ai. A varíavel nao recebe o valor do
> "return". Como vocês confirmaram que o bash não atribui o valor assim pra
> variável, agora fiquei encucado. O pessoal da Adobe eh doido?
>
> vlw!
>
> Eric
>
>
> ----- Original Message -----
> From: "mop" <address@hidden<mop2bky4mz5tyjwa8ersp7hrg5u9qn%40gmail.com>
> >
> To: <address@hidden <shell-script%40yahoogrupos.com.br>>
> Sent: Wednesday, July 25, 2007 2:14 PM
> Subject: Re: [shell-script] return 0
>
> >O tiago já detalhou o restorno efetivamente obtido, estou apenas
> >respondendo
> > para retirar meu email da mensagem.:)
> >
> > Reforçando, o que era desejado na questão original deve ser obtido com
> > VAR=$?, pois o shell, a cada comando seta um byte (decimal 0 a 255), o
> > status
> > code, que é legível com um simples "?" como nome de variável na
> linguagem
> > dele
> > com o mundo externo.
> >
> >
> >
> > ----------------------------------------------------------
> >>From: "Tiago Barcellos Peczenyj" <nomail>
> >>Date: Wed, 25 Jul 2007 14:02:27 -0300
> >>
> >>Reforçando
> >>
> >>o return em uma função shell é como um exit -- ela modifica a variavel
> >>$? para informar se houve um erro, por exemplo.
> >>
> >>quando vc faz
> >>
> >>VARIAVEL=$(comando)
> >>
> >>tudo o que o comando enviar para a stdin (via echo, print, por
> >>exemplo) será atribuido à variavel de ambiente.
> >>
> >>On 7/25/07, mop wrote:
> >>> Modifiquei, está auto explicativo:
> >>>
> >>> teste() {
> >>> printf a
> >>> echo -n B
> >>> return 1
> >>> }
> >>>
> >>> VAR=$(teste);echo \$?=$?
> >>>
> >>> echo VAR=$VAR;echo \$?=$?
> >>>
> >>>
> >>>
> >>> ----------------------------------------------------------
> >>> Esta lista não admite a abordagem de outras liguagens de programação,
> >>> como perl, C etc. Quem insistir em não seguir esta regra será moderado
>
> >>> sem prévio aviso.
> >>> ----------------------------------------------------------
> >>> Sair da lista: 
> >>> address@hidden<shell-script-unsubscribe%40yahoogrupos.com.br>
> >>> ----------------------------------------------------------
> >>> Esta lista é moderada de acordo com o previsto em
> >>> http://www.listas-discussao.cjb.net
> >>> ----------------------------------------------------------
> >>> Servidor Newsgroup da lista: news.gmane.org
> >>> Grupo: gmane.org.user-groups.programming.shell.brazil
> >>>
> >>>
> >>> Links do Yahoo! Grupos
> >>>
> >>>
> >>>
> >>
> >>
> >>--
> >>Tiago B Peczenyj
> >>Linux User #405772
> >>
> >>http://peczenyj.blogspot.com/
> >>
> >
> >
> >
> > ----------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de programação,
> como
> > perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> > prévio aviso.
> > ----------------------------------------------------------
> > Sair da lista: address@hidden<shell-script-unsubscribe%40yahoogrupos.com.br>
> > ----------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> > http://www.listas-discussao.cjb.net
> > ----------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> >
> > Links do Yahoo! Grupos
> >
> >
> >
>
>  
>



-- 
Tiago B Peczenyj
Linux User #405772

http://peczenyj.blogspot.com/


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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