De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Pedro Zorzenon Neto
Data de Publicação: 24 de Junho de 2003
Acho que vale a pena ressaltar que em shell, na grande maioria dos casos, o código de saída é 0 para sucesso e diferente de 0 para falha. No caso de ser diferente de 0, o número corresponde ao tipo de falha encontrado.
Ex: o ipchains retorna:
0 para sucesso 2 para erros devidos a parametros incorretos na linha de comando, 3 para erros de kernel (kernel não compilado com ipchains), 1 para outros erros (falta de permissão, etc...)
Então, caso você queira saber se um programa terminou com sucesso:
if [ $? == 0 ]; then some commands... fi
E se quiser saber se ele terminou com falha, não compare com 1, mas sim compare com diferente de 0.
if [ $? != 0 ]; then some commands... fi
Outra dica relacionada com o código de saída, é o '||' e o '&&'. O simbolo '||' executa apenas se o comando anterior falhar. o símbolo '&&' executa apenas se o comando anterior teve sucesso.
Ex:
# executa o comando 'cd'. se NÃO CONSEGUIU executar o # comando 'cd', então executa o 'mkdir' cd algumdiretorio || mkdir algumdiretorio # executa o comando 'cd'. se CONSEGUIU executar o # comando 'cd', então executa o 'touch' cd algumdiretorio && touch meuarquivo
Estas dicas anteriores foram testadas no "bash". Provavelmente funcionarão em outros tipos de "shell".
Um guia muito bom sobre "bash" pode ser encontrado em: Advanced Bash-Scripting Guide http://www.tldp.org/guides.html#abs
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários