você está aqui: Home  → Arquivo de Mensagens

Como usar o debug no bash

Colaboração: Rodrigo Bernardo Pimentel

Data de Publicação: 23 de Março de 2001

Quando se executa um script em bash e um erro ocorre, é comum só vermos uma mensagem de erro, sem saber exatamente onde ela está sendo originada. A solução comum (e trabalhosa) é colocar flags no meio do script, pra ir "fechando o cerco", como "echo 'Linha 1'", "echo 'Linha 10'" etc.

Um jeito melhor é executar o script com "bash -x":

# bash -x /path/pro/script

Ou mesmo, se a intenção for deixar esse comportamento permanente, ou persistente por algum tempo, mudar a primeira linha do script de algo como

  #!/bin/bash

Para

  #!/bin/bash -x

Isso imprime na saída padrão todos os passos executados pelo script, valores de variáveis etc, tornando muito mais fácil o debug.

A propósito, é normal que a saída de um bash -x seja maior do que uma tela. Isso se resolve, é claro, com um "| less". O problema é que muitas vezes se usa o bash -x justamente pra se checarem mensagens de erro, que não são capturadas na solução acima. Então, uma boa sugestão é fazer:

  bash -x /path/pro/script 2>&1 | less

Isso redireciona a saida de erro tambem pro "| less" .



 

 

Veja a relação completa dos artigos de Rodrigo Bernardo Pimentel

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