Posso configurar o terminal para mostrar a saída stderr em cores diferentes

11

É possível configurar o terminal no OS X para mostrar a stderrsaída automaticamente em uma cor diferente da stdoutsaída de um processo?

Ou isso só é possível se o processo estiver produzindo uma saída colorida?

RobV
fonte
Infelizmente, a partir de 2019, a resposta correta é que isso não é mais possível . Ambos hilitee stderredsão mantidos e quebrados e ainda estou procurando uma solução alternativa.
sorin
@sorin Acabei de instalar hilitevia Homebrew, ele ainda funciona conforme o esperado (ficaria surpreso se não realmente, ele usa funcionalidades muito básicas para realizar sua tarefa).
nohillside
@sorin stderredpodem não funcionar por mais tempo, uma vez que parece alterar a localização bibliotecas dinâmicas são carregados a partir de, o que pode ser impedido por nowaydays SIP
nohillside

Respostas:

9

Não há uma solução direta, mas há pelo menos algumas soluções disponíveis para fazer isso.

  • Você pode instalar o hilite criando o único arquivo C ( hilite.cnesse caso) ou usando brew install hilite(com o homebrew instalado no sistema). Use-o como hilite <command>.

  • Você pode usar o comando desta resposta em serverfault (substitua commandpelo nome do seu script / comando) para fazer o stderr aparecer em vermelho (para outras cores, consulte a lista de seqüências de escape ANSI e altere os 31m no comando abaixo de acordo):

    command 2> >(while read line; do echo -e "\e[01;31m$line\e[0m" >&2; done)
  • Você pode usar stderred para colorir stderr em vermelho.

MK
fonte
3

Você pode dar uma olhada no stderred, que permite gerar o Stderr em vermelho.

É compatível com OSX e existe um manual para instalá-lo no OSX.

Matthieu Riegler
fonte