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

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

Re: [shell-script] Dúvida...


From: Flavio Junior
Subject: Re: [shell-script] Dúvida...
Date: Tue, 9 May 2006 09:59:32 -0300

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



reply via email to

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