soh complementando, a variavel que armazena o "return code" de um
comando, é a $? e não a $# ...

Mal pelo novo e-mail

On 5/9/06, Flavio Junior <[EMAIL PROTECTED]> wrote:
> No caso, voce usou o operador && (AND), ou seja, o segundo comando só
> sera executado se o primeiro retornar 0 (sem erros) ...
>
> Então, obrigatoriamente, voce tera a saida do segundo comando se ele
> for executado.
>
> Se o primeiro saiu 0 o segundo sera executado, se o primeiro sair
> diferente de 0 o segundo nem sera executado. Qualquer coisa diferente
> de 0 é erro, e voce vai ter uma saida de erro. Para a condição ser
> verdadeira, ela tem que sair com 0 nos 2 comandos.
>
> $ (echo teste && cat arq_nao_existe) && echo OK || echo NOK
> teste
> cat: arq_nao_existe: No such file or directory
> NOK
>
> Se voce quiser que o segundo comando seja executado, independente do
> primeiro dar certo ou nao, utilize o ; .
>
> $ (echo teste ; cat arq_nao_existe) && echo OK || echo NOK
> teste
> cat: arq_nao_existe: No such file or directory
> NOK
>
> Neste caso, o resultado vai ser de acordo com o segundo comando, se
> ele saiu 0 da OK, se ele sair dfierente de 0 da NOK
>
> Se voce quiser executar o segundo comando, SOMENTE se o primeiro der
> erro, use o operador || (OR)
>
> $ (cat arq_novo || cat arq_velho_mesmo_faze_oq) && echo OK || echo NOK
>
> Isso vai retornar OK se pelo menos 1 dos 2 comandos dar certo e
> retornar 0, soh vai dar NOK se nenhum dos 2 comandos retornar 0...
> Isso é operaçao logica basica de programação e algebra de boole :)
>
>
> Flavio do Carmo Junior aka blk1d
>
> On 5/9/06, André Unno <[EMAIL PROTECTED]> wrote:
> > Bom dia pessoal.
> > Gostaria de tirar uma dúvida com relação a utilização de parenteses no
> > script.
> >
> > Quando eu coloco dois comandos dentro de parenteses... ex:
> >
> > # (/usr/local/bin/teste.sh && /usr/local/bin/teste1.sh)
> >
> > se após a execução desse script o valor da variável $# for igual a 0 isso
> > quer dizer que esses 2 scripts foram executados com sucesso ou o valor dessa
> > variável é apenas referente a execução do último script (teste1.sh)?
> >
> > --
> > André Unno
> > GNU/LinuxCounter#390708
> > http://counter.li.org
> >
> > O sistema pediu: "Requires Windows 9x, Windows 2000 or better".
> > Então eu instalei Linux.
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > ---------------------------------------------------------------------
> > 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: [EMAIL PROTECTED]
> > ---------------------------------------------------------------------
> > 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
> >
> >
> >
> >
> >
> >
> >
> >
>


---------------------------------------------------------------------
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: [EMAIL PROTECTED]
---------------------------------------------------------------------
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




Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


Links do Yahoo! Grupos

Responder a