Website-Suche

So passen Sie Bash-Farben und -Inhalte in der Linux-Terminal-Eingabeaufforderung an


Heutzutage 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 Distribution zu Distribution unterschiedlich sein können.

Empfohlene Lektüre: Die 5 am häufigsten verwendeten Open-Source-Shells für Linux

Falls Sie sich schon immer gefragt haben, wie Sie dies für eine bessere Zugänglichkeit oder einfach nach Lust und Laune anpassen können, lesen Sie weiter – in diesem Artikel erklären wir Ihnen, wie Sie genau das tun.

Die PS1-Bash-Umgebungsvariable

Die Eingabeaufforderung und das Erscheinungsbild des Terminals werden durch eine Umgebungsvariable namens PS1 gesteuert. Laut der Bash-Manpage stellt PS1 die primäre Eingabeaufforderungszeichenfolge dar, die angezeigt wird, wenn die Shell bereit ist, einen Befehl zu lesen.

Der zulässige Inhalt in PS1 besteht aus mehreren Sonderzeichen mit Backslash-Escapezeichen, deren Bedeutung im Abschnitt PROMPTING der Manpage aufgeführt ist.

Lassen Sie uns zur Veranschaulichung den aktuellen Inhalt von PS1 in unserem System anzeigen (dies kann in Ihrem Fall etwas anders sein):

echo $PS1

[\u@\h \W]$

Wir erklären Ihnen nun, wie Sie die PS1 an unsere Bedürfnisse anpassen können.

Anpassen des PS1-Formats

Laut dem PROMPTING-Abschnitt in der Manpage ist dies die Bedeutung jedes Sonderzeichens:

  1. \u: der Benutzername des aktuellen Benutzers.
  2. \h: der Hostname bis zum ersten Punkt (.) im vollqualifizierten Domänennamen.
  3. \W: der Basisname des aktuellen Arbeitsverzeichnisses, wobei $HOME mit einer Tilde (~) abgekürzt wird.
  4. \$: Wenn der aktuelle Benutzer Root ist, zeigen Sie # an, andernfalls $.

Beispielsweise möchten wir möglicherweise \! hinzufügen, wenn wir die Verlaufsnummer des aktuellen Befehls anzeigen möchten, oder \H, wenn wir stattdessen den FQDN anzeigen möchten der kurze Servername.

Im folgenden Beispiel importieren wir beide in unsere aktuelle Umgebung, indem wir diesen Befehl ausführen:

PS1="[\u@\H \W \!]$"

Wenn Sie die Eingabetaste drücken, sehen Sie, dass sich der Inhalt der Eingabeaufforderung wie unten dargestellt ä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 Benutzerss und des Hostnamenss in der Eingabeaufforderung – sowohl den Text als auch den umgebenden Hintergrund.

Tatsächlich können wir drei Aspekte der Eingabeaufforderung anpassen:

Text Format Foreground (text) color Background color
0: normal text 30: Black 40: Black
1: bold 31: Red 41: Red
4: Underlined text 32: Green 42: Green
33: Yellow 43: Yellow
34: Blue 44: Blue
35: Purple 45: Purple
36: Cyan 46: Cyan
37: White 47: White

Wir verwenden das Sonderzeichen \e am Anfang und ein m am Ende, um anzuzeigen, dass es sich bei dem, was folgt, um eine Farbsequenz handelt.

In dieser Sequenz werden die drei Werte (Hintergrund, Format und Vordergrund) durch Kommas getrennt (wenn kein Wert angegeben wird, wird der Standardwert angenommen) .

Empfohlene Lektüre: Lernen Sie Bash-Shell-Skripting unter Linux

Da die Wertebereiche unterschiedlich sind, spielt es außerdem keine Rolle, welchen (Hintergrund, Format oder Vordergrund) Sie zuerst angeben.

Beispielsweise führt der folgende PS1 dazu, dass die Eingabeaufforderung in gelbem unterstrichenem Text mit rotem Hintergrund angezeigt wird:

PS1="\e[41;4;33m[\u@\h \W]$ "

So gut es auch aussieht, diese Anpassung gilt nur für die aktuelle Benutzersitzung. Wenn Sie Ihr Terminal schließen oder die Sitzung beenden, gehen die Änderungen verloren.

Um diese Änderungen dauerhaft zu machen, müssen Sie je nach Distribution die folgende Zeile zu ~/.bashrc oder ~/.bash_profile hinzufügen:

PS1="\e[41;4;33m[\u@\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. Wenn Sie Fragen oder Anregungen zu diesem Beitrag haben, können Sie gerne das Kommentarformular unten verwenden, um uns zu erreichen. Wir freuen uns von Ihnen zu hören!