Posso configurare il terminale per mostrare l'output di stderr in diversi colori


11

È possibile configurare il terminale in OS X per mostrare stderrautomaticamente l'output in un colore diverso rispetto stdoutall'output di un processo?

O è possibile solo se il processo sta producendo un output colorato?


Purtroppo, a partire dal 2019, la risposta corretta è che non è più possibile . Entrambi hilitee stderrednon sono mantenuti e rotti e sto ancora cercando una soluzione alternativa.
sorin,

@sorin Ho appena installato hilitetramite Homebrew, funziona ancora come previsto (sarebbe sorpreso se non effettivamente, utilizza funzionalità molto basilari per svolgere il suo compito).
Nohillside

@sorin stderredpotrebbe non funzionare più in quanto sembra cambiare la posizione da cui vengono caricate le librerie dinamiche, cosa che può essere impedita dal SIP al giorno d'oggi
nohillside

Risposte:


9

Non esiste una soluzione semplice, ma ci sono almeno alcune soluzioni alternative disponibili per farlo.

  • È possibile installare hilite creando il singolo file C ( hilite.cin questo caso) o usando brew install hilite(con homebrew installato sul sistema). Usalo come hilite <command>.

  • Puoi usare il comando da questa risposta su serverfault (sostituisci commandcon il nome del tuo script / comando) per far apparire stderr in rosso (per altri colori, fai riferimento all'elenco delle sequenze di escape ANSI e modifica i 31m nel comando qui sotto):

    command 2> >(while read line; do echo -e "\e[01;31m$line\e[0m" >&2; done)
  • Puoi usare stderred per colorare stderr in rosso.


3

Potresti dare un'occhiata a stderred che consente di visualizzare Stderr in rosso.

È compatibile con OSX e c'è un manuale per installarlo su OSX.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.