shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

En: [Dicas-L]"Debug" no bash


From: Eriberto
Subject: En: [Dicas-L]"Debug" no bash
Date: Fri, 20 Apr 2001 23:44:58 -0300

----- Original Message -----
From: Rubens Queiroz de Almeida #200503# <address@hidden>
To: <address@hidden>
Sent: Thursday, April 19, 2001 1:27 AM
Subject: [Dicas-L]"Debug" no bash


"Debug" no bash
---------------------------------------------------------------------
Colaboração: Fernando Roxo <address@hidden>

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 duarnte 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....


---------------------------------------------------------------
As mensagens da lista Dicas-L são veiculadas diariamente
para 14893 assinantes.

Para sair ou assinar a lista Dicas-L, consulte o documento que
se encontra em http://www.Dicas-L.unicamp.br/FAQ.html.

A redistribuição desta e outras mensagens da lista Dicas-L pode
ser feita livremente, deste que o conteúdo, inclusive esta nota,
não sejam modificados.
---------------------------------------------------------------




reply via email to

[Prev in Thread] Current Thread [Next in Thread]