Is it possible to configure the terminal in OS X to show stderr output automatically in a different colour than stdout output from a process?

Or is this only possible if the process is outputting coloured output?


There is no straightforward solution, but there are at least a few workarounds available to do this.

  • You can install hilite by building the single C file (hilite.c in this case) or by using brew install hilite (with homebrew installed on the system). Use it as hilite <command>.

  • You can use the command from this answer on serverfault (substitute command with the name of your script/command) to make stderr appear in red (for other colors, refer the ANSI escape sequences list and change the 31m in the below command accordingly):

    command 2> >(while read line; do echo -e "\e[01;31m$line\e[0m" >&2; done)
  • You can use stderred to color stderr in red.

  • 1
    hilite can also be installed using homebrew: brew install hilite – Robert Watkins Dec 16 '13 at 6:16
  • Thanks. I updated the answer with this information (brew is a better choice to install it). – M K Dec 16 '13 at 8:03

You may want to have a look at stderred which allows to output Stderr in red.

It's OSX compatible and there is a manual to install it on OSX.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .