看到用于调试的 Bash 变量扩展了吗?

看到用于调试的 Bash 变量扩展了吗?

是否有任何工具/技巧可用于扩展变量以使 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 语法非常乏味。

答案1

运行以下脚本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 在执行时打印命令及其参数。

相关内容