Ist es möglich, die Farben in der Eingabeaufforderung für die Eingabeaufforderung user@computer
sowie das aktuelle Verzeichnis und die Befehlsteile der Eingabeaufforderungsanzeige zu ändern ?
Ich habe schon so etwas von OSX-Benutzern gesehen, aber ich weiß nicht, wie ich dasselbe im Gnome-Terminal machen soll (ich kann nur die Vordergrund- und Hintergrundfarben ändern).
Dies ist sehr nützlich, wenn Sie beispielsweise versuchen, fehlerhafte Programme zu kompilieren, da lange, unformatierte Nachrichten es schwierig machen, zu unterscheiden, welche Zeilen Befehle sind und welche ausgegeben werden.
bash
Einstellungen (oder Einstellungen für Ihre bevorzugte Shell), nicht nach Gnome Terminal.Antworten:
Sie können die Einstellungen Editieren der Datei bearbeiten:
~/.bashrc
.Öffnen Sie die Datei:
gedit ~/.bashrc
.Suchen Sie die Zeile mit
#force_color_prompt=yes
und entfernen Sie das Kommentarzeichen (löschen Sie das#
).Suchen Sie nach der Zeile darunter
if [ "$color_prompt" = yes ]; then
, die wie folgt aussehen sollte:Achten Sie auf den Teil
\u@\h
mit der Aufschrift "user @ host" und die Nummer davor,\[\033[01;32m\]
die die Farbe angibt. Das musst du ändern. Beispiel: Ändern Sie den Benutzer in "Lila", das "@" in "Schwarz" und den Host in "Grün". Bearbeiten Sie die Zeile so, dass sie wie folgt aussieht:Ergebnis:
Die Farbnummern sind:
Referenzen: 1 , 2 .
quelle
Palette
des Terminals nicht ändern sollten ,Preferences
bevor Sie dies versuchen, da dies eine Menge Verwirrung mit den Farbcodes verursachen wird.Sie können den BashrcGenerator ausprobieren . Dies ist bei weitem der einfachste Weg, eine Aufforderung zu erhalten, wie Sie möchten. Ich habe festgestellt, dass die hier definierten Farben möglicherweise von Ihrem eigenen System abweichen, aber das ist ein kleines Problem. Mit dem generierten Code können Sie die Farben selbst ändern.
Serverbenutzer:
Server root:
Bei Bedarf können Sie die Hostnamenfarbe ändern, um die verschiedenen Servertypen widerzuspiegeln.
Ich verwende ein anderes Format für meinen lokalen Computer:
Mein Favorit jetzt:
Diese letzte Aufforderung hat eine nette Geste. Nach der Eingabeaufforderung wird eine neue Zeile und davor eine leere neue Zeile eingefügt. Jetzt können Sie problemlos den vollständigen Verzeichnispfad anzeigen und bei langer Ausgabe besser erkennen, wo ein neuer Befehl beginnt.
quelle
Einzelheiten finden Sie in diesem detaillierten HOWTO .
Kurz gesagt, Sie können die Eingabeaufforderung ändern, indem Sie die Umgebungsvariable $ PS1 bearbeiten. Es gibt so viel zu sagen, dass ich Ihnen nur meine Eingabeaufforderung zeigen und Sie auf den obigen Link verweisen werde, um weitere Details zu erfahren.
Die farbbezogenen Teile sind in der Funktion
setPrompt
:Neben den Farben verfügt meine Eingabeaufforderung über einige weitere Funktionen, z. B. abgekürzte Verzeichnisnamen (siehe Funktion
bash_prompt_shortener
), automatische Anzeige des Beendigungsstatus des letzten Befehls, wenn dieser nicht Null ist (FunktioncheckExitStatus
) und Anzeige der Uhrzeit in den Spalten ganz rechts (Funktionprint_prompt_time
). .quelle