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