você está aqui: Home  → Arquivo de Mensagens Programe sua mente para aprender inglês - ebook gratuito

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 também redireciona a saida de erro para o | less .



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