Vc está fazendo uma comparação numérica (-eq) com um literal (rc) e como o valor numérico do literal é zero, a comparação volta verdadeiro.
Se vc fizesse [ rc = 0 ] voltaria falso pq o sinal de igual é para comparar strings e por isso, se vc fizer [ 10 - 010 ], voltará diferente pq a comparação não é numérica e sim como 2 cadeias de caracteres. [10 -eq 010 ] volta verdadeiro. Veja isso tudo e muuuuito mais sobre comparações em Bash em www.julioneves.com<http://twiki.softwarelivre.org/bin/view/TWikiBar/TWikiBarPapo004>. :) Abraços, Julio :wq Em 04/07/07, Leandro Valiengo <[EMAIL PROTECTED]> escreveu: > > Estou fazendo seguinte teste usando o return code (rc): > > #!/bin/ksh > rc=0; > if [ rc -eq 0 ] > then > echo "rc é igual a zero" > else > echo "rc é diferente de zero" > fi > > Observem que deixei a variavel rc dentro do teste ([ rc -eq 0 ]) sem o $. > Ou seja, seria para dar erro. No entanto da certo. Por quê? > > Vlw > > __________________________________________________________ > Novo Yahoo! Cadê? - Experimente uma nova busca. > http://yahoo.com.br/oqueeuganhocomisso > > [As partes desta mensagem que não continham texto foram removidas] > > > -- Abraços, Julio http://www.julioneves.com - Um livro sobre Bash completo e on-line :wq [As partes desta mensagem que não continham texto foram removidas]
