¿Ves la expansión de las variables de Bash para la depuración?

12

¿Hay alguna herramienta / truco disponible para expandir variables para hacer que el código bash sea más fácil de leer?

Por ejemplo, convertiría lo siguiente:

DIR=/var/tmp
FILE=${DIR}/file
SCRIPT_ROOT=/opt/root
TOOL=${SCRIPT_ROOT}/tool.sh
${TOOL} ${FILE}

a:

DIR=/var/tmp
FILE=/var/tmp/file
SCRIPT_ROOT=/opt/root
TOOL=/opt/root/tool.sh
/opt/root/tool.sh /var/tmp/file
  • Estoy convirtiendo el código BASH a Python y leer la sintaxis de BASH es muy tedioso.
AK47
fuente

Respuestas:

16

Ejecute el script en bash -x:

$ bash -x script
+ DIR=/var/tmp
+ FILE=/var/tmp/file
+ SCRIPT_ROOT=/opt/root
+ TOOL=/opt/root/tool.sh
+ /opt/root/tool.sh /var/tmp/file

Aunque -xnormalmente se usa para depurar, parece satisfacer sus necesidades.

Documentación

De man bash:

-x Imprimir comandos y sus argumentos a medida que se ejecutan.

John1024
fuente