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: Fernando M. Roxo da Motta
Data de Publicação: 19 de Abril de 2001
Por vezes um script é muito grande e nos interessa fazer este "trace" apenas em um trecho do programa. Como fazê-lo? Coloque no início do trecho uma instrução:
set -x
Desta linha em diante o "trace" será ligado. Para desligar o "trace" mais adiante para evitar listar partes sem importância, use:
set +x
Veja que por vezes nós sabemos que o "problema" só ocorre quando alguma variável assume um determinado valor. Neste caso podemos ligar o "trace" condicionalmente:
if [ $VARIAVEL = valor ]; then set -x fi {trecho a debugar} set +x
Como se pode ver o "trace" pode ser desligado mesmo que ele não esteja ligado.
Esta forma de listar o script, durante a execução, vai listar o comando
após a substituição das variáveis. Como identificar que variável tem que
valor? Podemos usar a opção "-v
" para listar as linhas durante a leitura. Na
verdade eu prefiro usar uma combinação das duas opções:
set -xv {trecho a "debugar"} set +xv
Da mesma forma que antes o "+
" desliga a opção.
Um último par de dicas. Se um script "liga" o "debug", apenas os
"scripts" rodados com o comando "." terão o "debug" ligado. Para
evitar que fique algum "debug" ligado quando se reutiliza o ambiente
(através do comando ".
" ) é interessante colocar no final do script um
desligar geral de "debug", mesmo que o "debug" não tenha sido ligado :
# # Desliga "debug" se tiver sido ligado set +xv # Fim do script....
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