从页面set
中的描述bash
man
:
-v Print shell input lines as they are read.
因此,以下示例脚本:
#!/usr/bin/env bash
# setv.sh
set -v
foo=bar
echo $foo
生成输出:
foo=bar
echo $foo
bar
有没有办法让它在每一行前面加上一些字符串,比如“+”,以便清楚地表明哪一行是脚本中的一行,哪一行是脚本中一行的输出。使用上面的示例,所需的输出将是:
+ foo=bar
+ echo $foo
bar
要获得这种输出,您可以使用
$BASH_COMMAND
例如添加而不是
set -x/v
在您的脚本顶部。