Lihat perluasan variabel Bash untuk debugging?

12

Apakah ada alat / trik yang tersedia untuk memperluas variabel agar kode bash lebih mudah dibaca?

Misalnya itu akan mengonversi yang berikut:

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

untuk:

DIR=/var/tmp
FILE=/var/tmp/file
SCRIPT_ROOT=/opt/root
TOOL=/opt/root/tool.sh
/opt/root/tool.sh /var/tmp/file
  • Saya mengkonversi kode BASH ke Python dan membaca sintaks BASH adalah hal yang membosankan.
AK 47
sumber

Jawaban:

16

Jalankan skrip di bawah 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

Meskipun -xbiasanya digunakan untuk debugging, tampaknya memenuhi kebutuhan Anda.

Dokumentasi

Dari man bash:

-x Perintah cetak dan argumennya saat dieksekusi.

John1024
sumber