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

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.