带有评估参数的Bash verbose命令

时间:2018-05-15 20:08:44

标签: bash logging verbose

我正在尝试使用其参数(在必要时进行评估之后)在Bash中记录命令。

我正在尝试使用set -v

$ variable=2
$ set -v
$ sleep $variable
sleep $variable

如您所见,它会打印sleep $variable。我想改为记录sleep 2

我的原始命令更复杂,所以我不想逐个echo每个参数。 (并且可能更容易出错)。

1 个答案:

答案 0 :(得分:1)

set -v(或set -o verbose)将在读取时输出每个命令,而不会扩展。

set -x(或set -o xtrace)将在执行前输出扩展的命令行。每一行都以PS4提示符(通常为+)为前缀,对于作为命令替换的一部分执行的命令,提示符将“加倍”(++)。

跟踪将写入$BASH_XTRACEFD指示的文件描述符(或默认情况下为shell的标准错误)。