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.


Programação Shell - FISL - Comentários

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

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Pedro Zorzenon Neto