¿Puedo configurar el terminal para mostrar la salida stderr en un color diferente?

11

¿Es posible configurar el terminal en OS X para mostrar la stderrsalida automáticamente en un color diferente que la stdoutsalida de un proceso?

¿O esto solo es posible si el proceso genera resultados en color?

RobV
fuente
Lamentablemente, a partir de 2019, la respuesta correcta es que esto ya no es posible . Ambos hilitey stderredestán sin mantenimiento y rotos y todavía estoy buscando una solución.
sorin
@sorin que acabo de instalar a hilitetravés de Homebrew, todavía funciona como se esperaba (me sorprendería si no fuera así, utiliza una funcionalidad muy básica para realizar su tarea).
nohillside
Es stderredposible que @sorin ya no funcione, ya que parece cambiar la ubicación desde la que se cargan las bibliotecas dinámicas, lo cual puede ser impedido por SIP nowaydays
nohillside

Respuestas:

9

No existe una solución sencilla, pero hay al menos algunas soluciones disponibles para hacerlo.

  • Puede instalar hilite construyendo el archivo C único ( hilite.cen este caso) o usando brew install hilite(con homebrew instalado en el sistema). Úselo como hilite <command>.

  • Puede usar el comando de esta respuesta en serverfault (sustituir commandcon el nombre de su script / comando) para hacer que stderr aparezca en rojo (para otros colores, consulte la lista de secuencias de escape ANSI y cambie los 31 m en el siguiente comando en consecuencia):

    command 2> >(while read line; do echo -e "\e[01;31m$line\e[0m" >&2; done)
  • Puede usar stderred para colorear stderr en rojo.

MK
fuente
3

Es posible que desee echar un vistazo a stderred que le permite mostrar Stderr en rojo.

Es compatible con OSX y hay un manual para instalarlo en OSX.

Matthieu Riegler
fuente