tenta assim: if cmd1 && cmd2 ; then echo "cmd1 AND cmd2" fi
if cmd1 || cmd2 ; then echo "cmd1 OR cmd2" fi 2008/6/26 Guilherme Gall <[EMAIL PROTECTED]>: > 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 > > -- Tiago B Peczenyj Linux User #405772 http://peczenyj.blogspot.com/ "what does not kill us makes us stronger"
