Lo más hermoso de todos los resultados que podamos tener con BASH, o bien con cualquier otro lenguaje de scripting, es ver un script funcionando a cabalidad…

Lamentablemente, muy difícilmente realizaremos un programa completo (por lo menos a nivel principiante), sin encontrarnos con los errores que todos pasamos, odiamos, y aprendemos a corregir. La primera opción para depurar nuestro guion es añadiendo un echo a todas las variables, que utilizamos, y verificando manualmente que todo está correctamente sentenciado.

Ahora;
en la realidad existen dos formas de hacer una depuración (debug) profesional de nuestros scripts BASH.

Una es:

sh -x fichero
Esto ejecutará el script y mostrará todas la sentencias que se ejecutan con las variables y comodines ya expandidos.

La otra es utilizando el modo de comprobación de sintaxis sin ejecutar el programa, de la siguiente forma:

sh -n tu_script
Si no retorna nada entonces tu programa no tiene errores de sintaxis y estamos listos para continuar.