我有一个打开命令echo的bash脚本(set -x)。我希望回声线以绿色文本打印,但实际命令的输出是默认颜色。我可以使用$ PS4来获得绿色,但是我没有看到在每个回声之后转向它的方法,因此结果是所有输出变为绿色。
答案 0 :(得分:3)
试试这个:
#!/bin/bash
exec 3<> >(sed -e "s/.*/\o033[0;32m&\o033[0m/")
BASH_XTRACEFD=3
set -x
...
(需要bash 4.1,我相信;如果你愿意,可以使用awk或perl或bash builtins代替sed)