看到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语法非常麻烦。

Answers:


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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.