Comment imprimer l'erreur standard en rouge dans la console au lieu d'utiliser la même couleur que la sortie standard?
Est-il possible d'utiliser Gnome Terminal ?
gnome-terminal
Aslan986
la source
la source
hilite
aide de l' utilitaire . Vous devez ajouter manuellementhilite
à votre commande shell pour l'utiliser, mais c'est toujours utile si vous savez ou suspectez qu'une commande génère des erreurs et que vous souhaitez les localiser.Réponses:
J'utilise stderred et l'ai trouvé une bonne solution. Comme son readme le note:
Il est simple à compiler, mais vous devez le construire à partir des sources en suivant les instructions de son site Github :
alors
alors
La partie la plus importante consiste à ajouter la ligne appropriée à votre
.bashrc
; vous devezlibstderred.so
créer un lien vers le fichier dans le répertoire de construction; vous devez utiliser le chemin absolu où se trouve le répertoire de construction (/ home / mike / src / stderred / build). J'ajoute ce qui suit à mon.bashrc
:Évidemment, lorsque vous ne souhaitez plus l'utiliser, supprimez la ligne ci-dessus de votre
.bashrc
et redémarrez le terminal.Les résultats, testés sur des fichiers inexistants (cela ne fonctionnera évidemment pas lorsqu'il
sudo
est utilisé, car l'utilisateur ne.bashrc
sera pas lu lorsque l'environnement différent sera défini):(Soit dit en passant, cela ne transforme pas mon invite duke @ nukem en rouge car c'était déjà rouge )
la source
En général, oui, car Gnome Terminal est un terminal ANSI et prend en charge les codes d'échappement ANSI standard.
Voici un exemple. Tapez ceci dans votre terminal:
L'
-e
option permet d'interpréter les codes de barre oblique inverse, ce qui\e
devient "Esc" (code hexadécimal 0x1B). Alternativement, pour entrer directement dans escape, appuyez sur ctrl-V Esc:Escape et les
[
deux forment ensemble le code reconnu par le terminal. Après cette séquence, vous devez insérer une;
liste d'attributs séparés par deux points ( ), terminée parm
. Voir ici pour tous les codes. Les exemples incluent l'attribut0
(réinitialiser tous les attributs, comme vous pouvez le remarquer ci-dessus, c'est la séquence qui termine mon exemple) et un tas de style (souligné, brillant, gras, etc.) ainsi que quelques attributs de couleur.La réponse ci-dessus vous indique comment utiliser la couleur lorsque vous écrivez votre propre programme.
Cependant, si je comprends bien votre question, vous aimeriez avoir une séparation visuelle pour stderr et stdout de tous les programmes que vous exécutez. Ce n'est pas simple sans analyser leur sortie via un filtre. Voici un exemple (trouvé ici ) comment le faire:
Définissez une fonction (vous pouvez la mettre dans votre fichier .bashrc):
Démarrez des programmes comme celui-ci:
Le stderr des programmes deviendra rouge.
la source