Siehe die Erweiterung der Bash-Variablen zum Debuggen?

12

Gibt es Tools / Tricks zum Erweitern von Variablen, um das Lesen von Bash-Code zu erleichtern?

Zum Beispiel würde es Folgendes konvertieren:

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

zu:

DIR=/var/tmp
FILE=/var/tmp/file
SCRIPT_ROOT=/opt/root
TOOL=/opt/root/tool.sh
/opt/root/tool.sh /var/tmp/file
  • Ich konvertiere BASH-Code nach Python und das Lesen der BASH-Syntax ist sehr mühsam.
AK47
quelle

Antworten:

16

Führen Sie das Skript aus unter 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

Während -xes normalerweise zum Debuggen verwendet wird, scheint es Ihren Bedürfnissen zu entsprechen.

Dokumentation

Von man bash:

-x Gibt Befehle und ihre Argumente aus, wenn sie ausgeführt werden.

John1024
quelle