Oi Flávio,

Também sou grato por tua explicação. Essa maneira de concatenar comandos
abre várias possibilidades.

Mas... o enfoque da pergunta do André é sobre o uso dos parentesis, e
também fiquei curioso sobre esse aspecto. Então é possível usar
parentesis para agrupar comandos do shell? Até que ponto? Em que shell
eles vão rodar?

Abraços,
Alain

Flavio Junior escreveu:
> 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
>

> 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