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