Бачите розширення змінних Bash для налагодження?


12

Чи є якісь інструменти / хитрощі для розширення змінних, щоб полегшити читання bash-коду?

Наприклад, він перетворив би наступне:

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

до:

DIR=/var/tmp
FILE=/var/tmp/file
SCRIPT_ROOT=/opt/root
TOOL=/opt/root/tool.sh
/opt/root/tool.sh /var/tmp/file
  • Я перетворюю BASH-код на Python і читаю синтаксис BASH - це дуже нудно.

Відповіді:


16

Запустіть сценарій під 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

Хоча -xзазвичай використовується для налагодження, воно, схоже, відповідає вашим потребам.

Документація

Від man bash:

-x Команди друку та їх аргументи під час їх виконання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.