Wie kann ich den Standardfehler in Rot in die Konsole drucken, anstatt die gleiche Farbe der Standardausgabe zu verwenden?
Ist es möglich, Gnome Terminal zu benutzen ?
gnome-terminal
Aslan986
quelle
quelle
hilite
Dienstprogramm aktivieren . Sie müssenhilite
Ihren Shell-Befehl manuell voranstellen , um ihn zu verwenden, aber es ist trotzdem nützlich, wenn Sie wissen oder vermuten, dass ein Befehl Fehler ausgibt und Sie diese suchen möchten.Antworten:
Ich benutze Stderred und habe es eine gute Lösung gefunden. In der Readme- Datei heißt es:
Es ist einfach zu kompilieren, aber Sie müssen es aus dem Quellcode erstellen, indem Sie den Anweisungen auf der Github-Site folgen :
Dann
Dann
Der wichtigste Teil davon ist, die entsprechende Zeile zu Ihrem hinzuzufügen
.bashrc
; Sie müssen eine Verknüpfung zu derlibstderred.so
Datei im Erstellungsverzeichnis herstellen. Sie müssen den absoluten Pfad verwenden, unter dem sich das Erstellungsverzeichnis befindet (/ home / mike / src / stderred / build). Ich füge Folgendes zu meinem hinzu.bashrc
:Wenn Sie es nicht mehr verwenden möchten, entfernen Sie die obige Zeile von Ihrem
.bashrc
und starten Sie das Terminal neu.Die Ergebnisse, getestet mit nicht existierenden Dateien (es wird offensichtlich nicht funktionieren, wenn
sudo
es verwendet wird, da der Benutzer.bashrc
nicht gelesen wird, wenn die andere Umgebung eingestellt ist):(Übrigens es nicht dreht den Herzog @ nukem prompt rot wie die rot wurde bereits )
quelle
Im Allgemeinen ja, da Gnome Terminal ein ANSI-Terminal ist und die Standard-ANSI-Escape-Codes unterstützt.
Hier ist ein Beispiel. Geben Sie dies in Ihr Terminal ein:
Die
-e
Option erlaubt die Interpretation von Backslash-Codes, so dass daraus\e
"Esc" (Hex-Code 0x1B) wird. Alternativ können Sie die Escape-Taste auch direkt eingeben, indem Sie Folgendes drücken ctrl-V Esc:Escape und
[
beide bilden zusammen den Code, der vom Terminal erkannt wird. Nach dieser Sequenz müssen Sie eine durch Doppelpunkte (;
) getrennte Liste von Attributen einfügen , die mit abgeschlossen wirdm
. Sehen Sie hier für alle Codes. Beispiele hierfür sind Attribute0
(alle Attribute zurücksetzen, wie Sie vielleicht oben bemerken, die Sequenz, die mein Beispiel beendet) und eine Reihe von Stilen (unterstrichen, hell, fett usw.) sowie einige Farbattribute.In der obigen Antwort erfahren Sie, wie Sie mit Farbe arbeiten, wenn Sie ein eigenes Programm schreiben.
Wenn ich Ihre Frage jedoch richtig verstehe, möchten Sie eine visuelle Trennung für stderr und stdout aller Programme, die Sie ausführen. Dies ist nicht einfach, ohne die Ausgabe über einen Filter zu analysieren. Hier ist ein Beispiel ( hier zu finden ), wie es gemacht wird:
Definieren Sie eine Funktion (Sie können sie in Ihre .bashrc-Datei einfügen):
Programme wie dieses starten:
Das Stderr aus den Programmen wird rot gefärbt.
quelle