我用来-x
跟踪 bash 脚本的执行:
#!/bin/bash -x
x=1
y=2
执行期间发送到输出
+ x=1
+ y=2
问题:如何在脚本中间停止/暂停跟踪模式然后再次启用它?请注意 ti 与 y=2 >/dev/null 之类的内容无关。
是否可以使用详细模式 ( #!/bin/bash -v
)?
答案1
这set
内置控制这些选项。
打开xtrace
:
set -x
要将其关闭:
set +x
这有点像加号和减号的逆逻辑,但事实就是如此。
同样,所有其他支持的选项set
也可以在命令行上设置(*),所以bash -u
与等相同set -u
。链接描述中有一个列表,并且help set
在命令行上也显示了它们。
有些选项也有长形式,例如set -o xtrace
与 相同set -x
。
(* 不过,我们不能反过来说。并非所有命令行选项都可以使用 来设置set
,例如-l
没有等效项,显然也没有-c
。)