Heute ist Bash die Standard-Shell in den meisten (wenn nicht allen) modernen Linux-Distributionen. Möglicherweise haben Sie jedoch bemerkt, dass die Textfarbe im Terminal und der Inhalt der Eingabeaufforderung von einer Distribution zur anderen unterschiedlich sein können.
Empfohlener Text: Die 5 am häufigsten verwendeten Open-Source-Shells für Linux
Falls Sie sich gefragt haben, wie Sie dies für eine bessere Zugänglichkeit oder aus einer Laune heraus anpassen können, lesen Sie weiter – in diesem Artikel erklären wir, wie genau das geht.
Die PS1-Bash-Umgebungsvariable
Die Eingabeaufforderung und das Erscheinungsbild des Terminals werden durch eine Umgebungsvariable namens PS1
geregelt . Laut Bash Manpage, PS1 stellt die primäre Eingabeaufforderungszeichenfolge dar, die angezeigt wird, wenn die Shell bereit ist, einen Befehl zu lesen.
Der erlaubte Inhalt in PS1 besteht aus mehreren durch Backslashs maskierten Sonderzeichen, deren Bedeutung in der AUFFORDERUNG aufgeführt ist Abschnitt der Manpage.
Lassen Sie uns zur Veranschaulichung den aktuellen Inhalt von PS1
anzeigen in unserem System (dies kann in Ihrem Fall etwas anders sein):
$ echo $PS1 [\[email protected]\h \W]$
Wir werden nun erklären, wie man PS1 anpasst nach unseren Bedürfnissen.
Anpassen des PS1-Formats
Gemäß dem PROMPTING-Abschnitt in der Manpage ist dies die Bedeutung jedes Sonderzeichens:
\u:
der Nutzername des aktuellen Benutzers.\h:
der Hostname bis zum ersten Punkt (.) im vollständig qualifizierten Domänennamen.\W:
der Basisname des aktuellen Arbeitsverzeichnisses mit $HOME mit einer Tilde (~) abgekürzt .\$:
Wenn der aktuelle Benutzer root ist, zeigen Sie # an , $ ansonsten.
Beispielsweise sollten wir erwägen, \!
hinzuzufügen Wenn wir die Verlaufsnummer des aktuellen Befehls anzeigen möchten, oder \H
wenn wir den FQDN anstelle des kurzen Servernamens anzeigen möchten.
Im folgenden Beispiel importieren wir beide in unsere aktuelle Umgebung, indem wir diesen Befehl ausführen:
PS1="[\[email protected]\H \W \!]$"
Wenn Sie Enter drücken Sie werden sehen, dass sich der Inhalt der Eingabeaufforderung wie unten gezeigt ändert. Vergleichen Sie die Eingabeaufforderung vor und nach der Ausführung des obigen Befehls:
Gehen wir nun noch einen Schritt weiter und ändern die Farbe des Benutzers und Hostname in der Eingabeaufforderung – sowohl der Text als auch der umgebende Hintergrund.
Tatsächlich können wir 3 Aspekte der Eingabeaufforderung anpassen:
Textformat | Vordergrundfarbe (Text) | Hintergrundfarbe |
0:normaler Text | 30:Schwarz | 40:Schwarz |
1:fett | 31:Rot | 41:Rot |
4:Unterstrichener Text | 32:Grün | 42:Grün |
33:Gelb | 43:Gelb | |
34:Blau | 44:Blau | |
35:Lila | 45:Lila | |
36:Cyan | 46:Cyan | |
37:Weiß | 47:Weiß |
Wir werden den \e
verwenden Sonderzeichen am Anfang und ein m
am Ende, um anzuzeigen, dass das Folgende eine Farbsequenz ist.
In dieser Reihenfolge werden die drei Werte (Hintergrund , Format und Vordergrund ) werden durch Kommas getrennt (wenn kein Wert angegeben wird, wird der Standard angenommen).
Empfohlener Text: Erfahren Sie mehr über Bash-Shell-Skripting unter Linux
Da die Wertebereiche unterschiedlich sind, spielt es auch keine Rolle, welcher (Hintergrund , Format , oder Vordergrund ) geben Sie zuerst an.
Zum Beispiel der folgende PS1
bewirkt, dass die Eingabeaufforderung gelb angezeigt wird unterstrichener Text mit rot Hintergrund:
PS1="\e[41;4;33m[\[email protected]\h \W]$ "
So gut es aussieht, gilt diese Anpassung nur für die aktuelle Benutzersitzung. Wenn Sie Ihr Terminal schließen oder die Sitzung verlassen, gehen die Änderungen verloren.
Um diese Änderungen dauerhaft zu machen, müssen Sie die folgende Zeile zu ~/.bashrc
hinzufügen oder ~/.bash_profile
abhängig von Ihrer Distribution:
PS1="\e[41;4;33m[\[email protected]\h \W]$ "
Spielen Sie ruhig mit den Farben herum, um herauszufinden, was für Sie am besten funktioniert.
Zusammenfassung
In diesem Artikel haben wir erklärt, wie Sie die Farbe und den Inhalt Ihrer Bash-Eingabeaufforderung anpassen können. Wenn Sie Fragen oder Anregungen zu diesem Beitrag haben, können Sie gerne das unten stehende Kommentarformular verwenden, um uns zu erreichen. Wir freuen uns darauf, von Ihnen zu hören!