Depurar Shell Scripts Febrero 4, 2007
Posted by superpiwi in Ubuntu.trackback
Cuando tenemos un shell script muy grande y falla su ejecución, te puedes volver loco para encontrar el error. Generalmente empleamos el comando “echo” para imprimir una traza y ver por donde se queda el script.
Lo que os cuento te permite usar un “debugger” que te permite ir paso a paso en la ejecucion del script, meterte dentro del codigo de las funciones y subrutinas e inspeccionar el valor de las variables. Se acabo el “echo” y perder horas buscando un error que puedes encontrar en minutos.
Se basa en DDD (http://www.gnu.org/software/ddd/) y bashdb (http://bashdb.sourceforge.net/).
Tienes que tenerlos instalados en la maquina. DDD es un debugger que tambien te vale para depurar programas en C++. En ubuntu la instalacion es muy sencilla:
sudo apt-get install ddd
sudo apt-get install bashdb
o bajarte los .deb y descomprimirlos. En otros entorno tal vez necesites compilar los fuentes.
FUNCIONAMIENTO:
Para depurar el script escribes:
ddd <ruta del debugger a usar> <ruta del script>
ejemplo:
ddd -debugger /var/bin/bashdb ejemplo.sh
Con esto se abre el editor y ya puedes ir paso a paso ejecutando linea a linea el script. Mas sencillo imposible. Si quieres depurar un script que se encuentra en una maquina remota tambien puedes.
pero tienes que tener instalado bashdb en la maquina remota.
ddd -host <user>@<host> –debugger <ruta> <script>




Interesante, sobre todo cuando escribes todo de una vez y al ejecutar te da algun fallo