Aunque se trate de algo muy básico, siempre me sorprende la cantidad de gente que no conoce el modo de depuración de bash.
Principalmente, este modo se habilita con el modificador “-x“, aunque suele combinarse con el modificador “-v” de verbose. Lo normal, para depurar un script entero, sería ejecutar éste con los citados modificadores:
ramiro@cormanthor:~$ bash -xv prueba.sh
Para scripts muy largos, probablemente sea más sencillo habilitarlo sólo para ciertas secciones del código, incluyendo la orden “set -xv” antes de la sección a depurar, y la orden “set +xv” después.
Aún así, por supuesto, siempre nos quedará la depuración mediante impresión masiva de variables… que al final es la más utilizada. :-D
