você está aqui: Home  → Arquivo de Mensagens

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



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

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script