Puis-je configurer le terminal pour afficher la sortie stderr dans différentes couleurs


11

Est-il possible de configurer le terminal sous OS X pour afficher stderrautomatiquement la sortie dans une couleur différente de la stdoutsortie d'un processus?

Ou est-ce possible uniquement si le processus génère une sortie colorée?


Malheureusement, à partir de 2019, la bonne réponse est que ce n'est plus possible . Les deux hiliteet stderredsont unmaintained et brisé et je suis toujours à la recherche d' une solution de contournement.
sorin

@sorin Je viens d'installer hilitevia Homebrew, il fonctionne toujours comme prévu (serait surpris sinon en fait, il utilise des fonctionnalités très basiques pour accomplir sa tâche).
nohillside

@sorin stderredpeut ne plus fonctionner car il semble changer l'emplacement de chargement des bibliothèques dynamiques, ce qui peut être empêché par SIP de nos jours
nohillside

Réponses:


9

Il n'y a pas de solution simple, mais il existe au moins quelques solutions de contournement disponibles pour ce faire.

  • Vous pouvez installer hilite en créant le fichier C unique ( hilite.cdans ce cas) ou en utilisant brew install hilite(avec homebrew installé sur le système). Utilisez-le comme hilite <command>.

  • Vous pouvez utiliser la commande de cette réponse sur serverfault (remplacer commandpar le nom de votre script / commande) pour faire apparaître stderr en rouge (pour les autres couleurs, reportez-vous à la liste des séquences d'échappement ANSI et modifiez le 31m dans la commande ci-dessous en conséquence):

    command 2> >(while read line; do echo -e "\e[01;31m$line\e[0m" >&2; done)
  • Vous pouvez utiliser stderred pour colorer stderr en rouge.


3

Vous voudrez peut-être jeter un œil à stderred qui permet de sortir Stderr en rouge.

Il est compatible OSX et il existe un manuel pour l'installer sur OSX.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.