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 <address@hidden> 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: address@hidden
> ---------------------------------------------------------------------
> 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
>
>
>
>
>
>
>
>