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

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

Controle de fluxo baseado no valor de retorno de dois comandos


From: Guilherme Gall
Subject: Controle de fluxo baseado no valor de retorno de dois comandos
Date: Thu, 26 Jun 2008 19:38:05 -0300

Prezados(as),

Tenho um script onde decido entre fazer uma uma tarefa ou outra
baseado no valor de retorno de dois comandos distintos. Sempre uso

if <comando>; then
   <comandos se valor de retorno 0>
else
   <comandos se valor de retorno diferente de 0>
fi

quando preciso fazer algo baseado no retorno de um comando só, mas em
meu caso preciso fazer o controle de fluxo baseado no exit code de
dois comandos diferentes. Eu precisaria de uma coisa mais ou menos
assim:

if <comando1> AND <comando2>; then
   <comandos se o retorno de comando 1 e comando 2 for 0>
else
   <comandos se o retorno de um comando for 0 e o outro diferente de
0, ou se ambos forem diferentes de 0>
fi

Resumindo, gostaria de poder fazer operações de AND, OR e NOT com os
exit codes de dois comandos diferentes para tomar uma decisão se ambos
retornarem 0 por exemplo.

Tentei fazer isso de diversas formas sem sucesso e minhas pesquisas
sobre isso na web foram infrutíferas, então peço ajuda a vocês.

A solução que arranjei foi executar o primeiro comando, guardar o
valor $? em uma variável, executar o segundo comando, guardar o valor
$? em uma segunda variável e finalmente, fazer algo como

if [ $RET1 = 0 -a $RET2 = 0 ]; then
   <comandos>
else
   <comandos>
fi

Não sei se fui claro, se ficou alguma dúvida do que eu quero fazer é
só perguntar.

Desde já agradeço,

-- 
Guilherme Magalhães Gall


reply via email to

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