¿Cómo puedo imprimir el error estándar en rojo en la consola en lugar de usar el mismo color de la salida estándar?
¿Es posible usar Gnome Terminal ?
gnome-terminal
Aslan986
fuente
fuente
hilite
utilidad . Tiene que anteponer manualmentehilite
su comando de shell para usarlo, pero sigue siendo útil si sabe o sospecha que un comando genera errores y desea localizarlos.Respuestas:
Yo uso stderred y he encontrado una buena solución. Como señala su léame :
Es fácil de compilar, pero debe compilarlo desde la fuente siguiendo las instrucciones de su sitio Github :
Luego
Luego
La parte más importante es agregar la línea apropiada a su
.bashrc
; debe vincular allibstderred.so
archivo en el directorio de compilación; debe usar la ruta absoluta donde está el directorio de compilación (/ home / mike / src / stderred / build). Añado lo siguiente a mi.bashrc
:Obviamente, cuando ya no quiera usarlo, elimine la línea anterior
.bashrc
y reinicie el terminal.Los resultados, probados en archivos inexistentes (obviamente no funcionarán cuando
sudo
se usen, ya que el usuario.bashrc
no será leído cuando se establezca un entorno diferente):(Por cierto, no convierte mi indicador duke @ nukem en rojo ya que ya era rojo )
fuente
En general, sí, ya que Gnome Terminal es un terminal ANSI y admite los códigos de escape ANSI estándar.
Aquí hay un ejemplo. Escriba esto en su terminal:
La
-e
opción permite interpretar códigos de barra invertida, de modo que se\e
convierte en "Esc" (código hexadecimal 0x1B). Alternativamente, para ingresar a escape directamente, presione ctrl-V Esc:Escape y
[
ambos forman juntos el código que reconoce el terminal. Después de esa secuencia, debe insertar una;
lista de atributos separada por dos puntos ( ), terminada porm
. Vea aquí todos los códigos. Los ejemplos incluyen atributo0
(restablecer todos los atributos, como puede observar arriba, es la secuencia que termina mi ejemplo) y un montón de estilo (subrayado, brillante, negrita, etc.), así como algunos atributos de color.La respuesta anterior le dice cómo usar el color cuando escribe su propio programa.
Sin embargo, si entiendo su pregunta correctamente, le gustaría tener una separación visual para stderr y stdout de cualquier programa que esté ejecutando. Esto no es sencillo sin analizar su salida a través de un filtro. Aquí hay un ejemplo (que se encuentra aquí ) de cómo hacerlo:
Defina una función (puede ponerla en su archivo .bashrc):
Inicie programas como este:
El stderr de los programas se coloreará de rojo.
fuente