我可以配置终端以不同颜色显示stderr输出


11

是否可以将OS X中的终端配置为以与过程输出stderr不同的颜色自动显示输出stdout

还是只有在该过程输出彩色输出时才有可能?


可悲的是,截至2019年,正确的答案是这不再可能。双方hilitestderred都无人维护,破碎,我仍然在寻找一个解决办法。
sorin

我刚刚hilite通过Homebrew 安装的@sorin ,它仍然可以按预期工作(如果不是真的,将会感到惊讶,它使用非常基本的功能来完成其任务)。
nohillside

@sorin stderred可能不再起作用,因为它似乎更改了从中加载动态库的位置,这可能已由SIP禁止
nohillside

Answers:


9

没有简单的解决方案,但是至少有一些解决方法可以做到这一点。

  • 您可以安装HILITE通过建立单一的C文件(hilite.c在这种情况下)或者使用brew install hilite(用自制系统上安装的)。用作hilite <command>

  • 您可以在serverfault上使用此答案中的命令(command用脚本/命令的名称代替),使stderr显示为红色(对于其他颜色,请参阅ANSI转义序列列表,并相应地更改以下命令中的31m):

    command 2> >(while read line; do echo -e "\e[01;31m$line\e[0m" >&2; done)
  • 您可以使用stderred将stderr 成红色。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.