使用选项set -x
,每个命令在执行前都会回显到 STDERR,并以扩展的 为前缀$PS4
,并根据调用堆栈深度重复第一个字符。
我希望提示的输出$PS4
是彩色的。即在哪里
(set -x; ls -l)
Run Code Online (Sandbox Code Playgroud)
当前将打印
+ ls -l
Run Code Online (Sandbox Code Playgroud)
我想要一个输出
\033[90m+ ls -l\033[0m
\ \
\ `- Reset color
`- Muted gray
Run Code Online (Sandbox Code Playgroud)
然而,由于 PS4 在回显命令之前被打印,我想不出在执行命令\033[0m
之前重置颜色的方法。
有可能以某种方式做到这一点吗?