Olá Miguel, tens razão eu não havia reparado o -ne no seu script. Li rapidamente e imaginei que fosse -eq. Vc fez:
./Main/Base/checknet.sh [ $? -ne 0 ] && Exit || exit 1 O correto seria eu ter sugerido que vc fizesse: ./Main/Base/checknet.sh || Exit || exit 1 ou melhor ainda: ./Main/Base/checknet.sh || { Exit; exit 1; } para vc entender, crie um ficheiro chamado file.ok e verife que não exista um file.nok e faça os seguintes testes: ls file.ok >/dev/null 2>&1 && echo arquivo existe ls file.nok >/dev/null 2>&1 && echo arquivo existe ls file.ok >/dev/null 2>&1 || echo arquivo existe ls file.nok >/dev/null 2>&1 || echo arquivo existe Ou seja: se a primeira instrução resultar $? igual a zero, com o conector && (E (and) lógico) a segunda será executada e se o conector for || (OU (or) lógico) a segunda não será executada. Caso o $? da primeira seja diferente de zero, ocorrerá o oposto. Nestes exemplos usei ">/dev/null 2>&1" somente para jogar a saída do ls e a saída de erros para /dev/null. Abração, Julio Em 01/11/07, miguelcm86 <[EMAIL PROTECTED]> escreveu: > > Tem de ter atenção pois o que está a dizer penso que está errado, não > faz sentido: > > > Mesmo assim, a melhor forma de fazer isso é assim: > > > > ./Main/Base/checknet.sh && Exit || exit 1 > > > > Se vc ler as URLs que te passei na outra msg, perceberás (que aqui > falamos > > entenderás) > já li mais de uma vez :P > > repara que quando checknet.sh retomar 1 ele tem que fazer a função > Exit ( e como Exit acaba com return 1) ele executar o exit 1. > > O comando && só executa o comando seguinte quando o primeiro é > verdadeiro, digamos que neste caso é quando ocorre bem que é quando o > return é 0, mas o que quero é exactamente ao contrario quero que ele > execute quando o return for 1. > > Só disse isto para não ficar algo errado por aqui ;) > Se não estou certo os seus apontamentos estão errados, algo tem de > estar errado, porque são coisas opostas. > > > > Abraços, > > Julio > > > Abraços Julio ;) > > > -- 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]