So passen Sie Ihre Bash-Eingabeaufforderung an (und kolorieren sie)

May 18, 2025
Wartung und Optimierung
UNCACHED INHALT

Die meisten Linux-Distributionen konfigurieren die Bash-Eingabeaufforderung so, dass sie ungefähr so ​​aussieht Benutzername @ Hostname: Verzeichnis $ . Sie können die Bash-Eingabeaufforderung jedoch so konfigurieren, dass sie alles enthält, was Sie möchten, und sogar die gewünschten Farben auswählen.

Die Beispielschritte hier wurden unter Ubuntu 16.04 LTS ausgeführt. Der Prozess sollte auf anderen Linux-Distributionen gleich sein, obwohl die Standard-Bash-Eingabeaufforderung und die Einstellungen in der .bashrc-Datei möglicherweise etwas anders sind.

Wo die Eingabeaufforderungsvariable gespeichert ist

Ihre Bash-Eingabeaufforderungskonfiguration wird in der .bashrc-Datei Ihres Benutzerkontos gespeichert, die sich unter befindet ~ / .bashrc . Wenn Ihr Benutzername also Bob ist, befindet sich die Datei unter /home/bob/.bashrc .

Sie können die Datei öffnen, um die aktuelle Bash-Variable anzuzeigen. Wir verwenden Nano als Beispieltexteditor, obwohl Sie dies auch verwenden können wir , Emacs oder einen anderen Texteditor, mit dem Sie vertraut sind. Öffnen Sie ein Terminal und führen Sie Folgendes aus:

nano ~ / .bashrc

Scrollen Sie nach unten zu Ψ1 = Sektion. Die erste Variable sieht ziemlich kompliziert aus, da sie Farbinformationen enthält - das werden wir später erklären. Die zweite Variable ohne Farbinformationen lautet wie folgt:

$ {debian_chroot:+($debian_chroot)} \ u @ \ h: \ w \ $

Dies ist aufgrund der noch etwas kompliziert ${debian_chroot:+($debian_chroot)} Bits. Diese weisen Bash lediglich an, Sie zu informieren, wenn Sie eine Debian-Chroot-Umgebung verwenden und normalerweise nicht angezeigt werden. Wenn Sie diese ignorieren, sehen Sie hier die Standardstruktur der Bash-Eingabeaufforderungsvariablen:

\ u @ \ h: \ w \ $

\ u gibt Ihren Benutzernamen an, @ zeigt das @ -Zeichen an, \h gibt den Hostnamen (Computernamen) an, : gibt an: Zeichen, \im gibt das Arbeitsverzeichnis an und \$ Gibt ein $ an, wenn Sie ein normales Benutzerkonto sind, oder #, wenn Sie root sind. Wenn Sie das alles zusammenfügen, bekommen Sie Benutzername @ Hostname: Arbeitsverzeichnis $ .

Um Ihre Bash-Eingabeaufforderung zu ändern, müssen Sie nur die Sonderzeichen in der PS1-Variablen hinzufügen, entfernen oder neu anordnen. Es gibt jedoch viel mehr Variablen als die Standardvariablen.

Verlassen Sie den Texteditor vorerst - drücken Sie in Nano Strg + X, um den Vorgang zu beenden. Wir zeigen Ihnen, wie Sie mit Variablen experimentieren, bevor Sie eine neue in Ihre .bashrc-Datei schreiben.

So erstellen Sie eine benutzerdefinierte Bash-Eingabeaufforderung

Ihre Bash-Eingabeaufforderungskonfiguration wird in der PS1-Variablen gespeichert. Führen Sie den folgenden Befehl aus, um den Inhalt der PS1-Variablen in einer neuen Variablen zu speichern:

STANDARD = $ PS1

Sie können die PS1-Variable jetzt auf verschiedene Werte einstellen, um zu experimentieren. In der ersten Zeile wird Ihre Eingabeaufforderung beispielsweise auf eine grundlegende Eingabeaufforderung "Benutzer $" gesetzt, während in der zweiten Zeile Ihre Eingabeaufforderung auf eine grundlegende Eingabeaufforderung "Benutzer: Arbeitsverzeichnis $" gesetzt wird.

PS1 = "\ u \ $"

PS1 = "\ u: \ w \ $"

Wenn Sie jemals zu Ihrer Standardaufforderung zurückkehren möchten, führen Sie einfach den folgenden Befehl aus.

PS1 = $ DEFAULT

Bash wird auf die Standardaufforderung zurückgesetzt, da Sie diese Standardeinstellungen zuvor gespeichert haben. Beachten Sie, dass alle Änderungen, die Sie hier vornehmen, nur vorübergehend für die aktuelle Bash-Sitzung sind. Sie können sich also jederzeit abmelden und wieder anmelden oder das Terminalfenster schließen und erneut öffnen, um zu Ihrer Standardaufforderung zurückzukehren. Mit der obigen Zeile können Sie jedoch problemlos zu Ihrer Standard-Bash-Eingabeaufforderung zurückkehren, ohne sich abmelden oder ein Fenster schließen zu müssen.

Sie können der Variablen beliebige Zeichen oder Text hinzufügen. Um der Standardaufforderung „Hallo Welt“ voranzustellen, können Sie Folgendes verwenden:

PS1 = "Hallo Welt \ u @ \ h: \ w \ $"

Nachdem Sie die Grundlagen verstanden haben, müssen Sie nur noch alle Sonderzeichen kennen. Viele davon interessieren Sie wahrscheinlich nicht, aber hier ist die vollständige Liste, wie sie in angezeigt wird das Bash-Handbuch :

  • Ein Glockencharakter: \ein
  • Das Datum im Format "Wochentag Monat Datum" (z. B. "Di 26. Mai"): \ d
  • Das Format wird an strftime (3) übergeben und das Ergebnis in die Eingabeaufforderungszeichenfolge eingefügt. Ein leeres Format führt zu einer länderspezifischen Zeitdarstellung. Die Zahnspangen sind erforderlich: \ D{format}
  • Ein Fluchtcharakter: \ ist
  • Der Hostname bis zum ersten ".": \h
  • Der Hostname: \H
  • Die Anzahl der Jobs, die derzeit von der Shell verwaltet werden: \ j
  • Der Basisname des Endgerätenamens der Shell: \ l
  • Eine neue Zeile: \ n
  • Ein Wagenrücklauf: \ r
  • Der Name der Shell, der Basisname von $ 0 (der Teil nach dem letzten Schrägstrich): \ s
  • Die Zeit im 24-Stunden-Format HH: MM: SS: \t
  • Die Zeit im 12-Stunden-Format HH: MM: SS: \T
  • Die Uhrzeit im 12-Stunden-Format: \@
  • Die Uhrzeit im 24-Stunden-Format HH: MM: \EIN
  • Der Benutzername des aktuellen Benutzers: \ u
  • Die Version von Bash (z. B. 2.00): ev
  • Die Veröffentlichung von Bash, Version + Patchlevel (z. B. 2.00.0): EV
  • Das aktuelle Arbeitsverzeichnis mit $ HOME, abgekürzt mit einer Tilde (verwendet die Variable $ PROMPT_DIRTRIM): \im
  • Der Basisname von $ PWD, wobei $ HOME mit einer Tilde abgekürzt wird: \IM
  • Die Verlaufsnummer dieses Befehls: \!
  • Die Befehlsnummer dieses Befehls: \#
  • Wenn die effektive UID 0, # ist, andernfalls $: \$
  • Das Zeichen, dessen ASCII-Code der Oktalwert nnn ist: \ nnn
  • Ein Backslash: \\
  • Beginnen Sie eine Folge von nicht druckbaren Zeichen. Dies könnte verwendet werden, um eine Terminalsteuerungssequenz in die Eingabeaufforderung einzubetten: \[
  • Beenden Sie eine Folge nicht druckbarer Zeichen: \]

Wenn Sie also Datum und Uhrzeit zu Ihrer Bash-Eingabeaufforderung hinzufügen und das Arbeitsverzeichnis in einer zweiten Zeile auf Befehl setzen möchten, können Sie die folgende Konstruktion verwenden:

PS1 = "[\d \t] \ u @ \ h \ n \ w \ $"

Die eckigen Klammern hier sind überhaupt nicht erforderlich, helfen jedoch dabei, die Dinge visuell aufzuteilen und die Linie besser lesbar zu machen. Wie bereits erwähnt, können Sie der gewünschten Variablen beliebigen Text oder normale Zeichen hinzufügen. Sie können also jederzeit das verwenden, was für Sie funktioniert.

Es gibt noch einen mächtigeren Trick, den Sie kennen sollten: Sie können der Eingabeaufforderung die Ausgabe eines beliebigen Befehls hinzufügen. Immer wenn die Eingabeaufforderung angezeigt wird, führt Bash den Befehl aus und gibt die aktuellen Informationen ein. Fügen Sie dazu einfach einen Befehl ein, den Sie zwischen zwei ausführen möchten ` Zeichen. Dies ist kein Apostroph - das ist der schwerwiegende Akzent, der über der Tabulatortaste auf Ihrer Tastatur angezeigt wird.

Angenommen, Sie möchten die Linux-Kernelversion in der Eingabeaufforderung anzeigen. Sie könnten eine Zeile wie die folgende verwenden:

PS1 = "\ u @ \ h auf" Uname -s -r "\ w \ $"

Nehmen wir als weiteres Beispiel an, Sie möchten die Betriebszeit und den Auslastungsdurchschnitt des Systems anzeigen, wie von angezeigt Betriebszeit Befehl. Sie können die folgende Konstruktion verwenden, bei der die Betriebszeit vor dem Rest der Eingabeaufforderung in einer eigenen Zeile steht.

PS1 = "(" Zwischenzeit ") \ n \ u @ \ h: \ w $"

Probieren Sie verschiedene Sonderzeichen und Befehle aus, um Ihre ideale Eingabeaufforderung zusammenzustellen.

So fügen Sie Ihrer Bash-Eingabeaufforderung Farben hinzu

Sobald Sie Ihre bevorzugte Eingabeaufforderung herausgefunden haben, können Sie ihr Farben hinzufügen. Dies ist eigentlich sehr einfach, aber es lässt die Variable furchtbar chaotisch und kompliziert aussehen, wenn Sie nicht verstehen, was Sie sehen.

Die Standardvariable für Eingabeaufforderungen von früher war beispielsweise:

$ {debian_chroot:+($debian_chroot)} \ [\033[01;32m\] \ u @ \ h \ [\033[00m\]: \ [\033[01;34m\] \ w \ [\033[00m\] \ $

Oder entfernen Sie die debian_chroot-Bits noch einmal:

\ [\033[01;32m\] \ u @ \ h \ [\033[00m\]: \ [\033[01;34m\] \ w \ [\033[00m\] \ $

Das ist eigentlich nur das \ u @ \ h: \ w $ variabel von früher, aber mit Farbinformationen. Wirklich, wir können es in ein paar Abschnitte unterteilen:

\[\033[01;32m\]\äh\[\033[00m\]:\[\033[01;34m\]\im\[\033[00m\]\$

Der erste Abschnitt ist der \äh Bit, vorangestellt von Farbinformationen, die es grün färben. Der zweite ist der : Zeichen, vorangestellt von Farbinformationen, die jegliche Färbung entfernen. Der dritte ist der \im Bit, vorangestellt von Farbinformationen, die es blau färben. Der vierte ist der \$ Bit, vorangestellt von Farbinformationen, die jegliche Färbung entfernen.

Sobald Sie verstanden haben, wie Sie eigene Farb-Tags erstellen, können Sie den gewünschten Abschnitten Ihrer Bash-Eingabeaufforderung beliebige Farben hinzufügen.

Folgendes müssen Sie wissen: Sie müssen die gesamten Farbcode-Informationen zwischen den \[ und \] Zeichen s. Innerhalb des Tags müssen Sie mit beiden beginnen \033[ oder \ ist [ um Bash anzuzeigen, dass dies Farbinformationen sind. Beide \033[ und \ ist [ mach das selbe. \ ist [ ist kürzer und daher möglicherweise bequemer zu verwenden, wir werden sie jedoch verwenden \033[ hier, da es mit dem übereinstimmt, was standardmäßig verwendet wird. Am Ende des Tags müssen Sie mit enden m\ um das Ende eines Farbetiketts anzuzeigen.

Im Folgenden sehen Sie, wie jedes Farbetikett aussehen wird. Der einzige Unterschied besteht in den Informationen, die Sie anstelle von FARBE hinzufügen, um die tatsächliche Farbe zu definieren:

\[\033[FARBEm\]

Mit Bash können Sie die Farbe von Vordergrundtext ändern, dem Text Attribute wie "Fett" oder "Unterstreichen" hinzufügen und eine Hintergrundfarbe festlegen.

Hier sind die Werte für Vordergrundtext:

  • Schwarz: 30
  • Blau: 34
  • Cyan: 36
  • Grün: 32
  • Lila: 35
  • Rot: 31
  • Weiß: 37
  • Gelb: 33

Da beispielsweise lila Text der Farbcode 32 ist, würden Sie ihn verwenden \[\033[ 32 m\] für lila Text.

Sie können auch ein Attribut für den Text angeben. Dieses Attribut muss vor der Farbnummer hinzugefügt werden, getrennt durch ein Semikolon (;). Text mit diesen Attributen sieht in verschiedenen Terminalemulatoren unterschiedlich aus.

Hier sind die Werte für Textattribute:

  • Normal Text: 0
  • Fett oder hell Text: 1 (Dies hängt vom Terminalemulator ab.)
  • Dim Text: 2
  • Underlined Text: 4
  • Blinkender Text: 5 (Dies funktioniert in den meisten Terminalemulatoren nicht.)
  • Umgekehrter Text: 7 (Hiermit werden die Vordergrund- und Hintergrundfarben invertiert, sodass schwarzer Text auf weißem Hintergrund angezeigt wird, wenn der aktuelle Text weißer Text auf schwarzem Hintergrund ist.)
  • Versteckter Text: 8

Sie müssen das normale Textattribut nicht einfügen. Das ist sowieso die Standardeinstellung.

Da beispielsweise roter Text Code 31 und fetter Text Code 1 ist, würden Sie verwenden \[\033[ 1;31 m\] für fetten roten Text.

Sie können auch eine Hintergrundfarbe angeben, einer Hintergrundfarbe jedoch kein Attribut hinzufügen.

Hier sind die Werte für Hintergrundfarben:

  • Schwarzer Hintergrund: 40
  • Blauer Hintergrund: 44
  • Cyan Hintergrund: 46
  • Grüner Hintergrund: 42
  • Lila Hintergrund: 45
  • Roter Hintergrund: 41
  • Weißer Hintergrund: 47
  • Gelber Hintergrund: 43

Da ein blauer Hintergrund beispielsweise Code 44 ist, \[\033[ 44 m\] würde einen blauen Hintergrund angeben.

Sie können sowohl Vordergrund- als auch Hintergrundfarb-Tags angeben. Zum Beispiel steht 42 für einen grünen Hintergrund und 31 für roten Text. Damit die Standardaufforderung zu rotem Text auf grünem Hintergrund wird, verwenden Sie Folgendes:

Ψ1 = "\ [\ 033 [42m\]\[\033[31m \] \ u @ \ h: \ w \ $ "

Wir geben hier nur eine einzelne Hintergrundfarbe und dann eine einzelne Vordergrundtextfarbe an, die am Anfang der Eingabeaufforderung beginnt und auf den gesamten Text in der Eingabeaufforderung angewendet wird. Sie können jedoch so viele Farb-Tags angeben, wie Sie in der Variablen möchten, um verschiedene Abschnitte Ihrer Eingabeaufforderung nach Belieben einzufärben.

Die Hintergrund- und Vordergrundtextfarben bleiben über die Eingabeaufforderung hinaus, es sei denn, Sie geben den Farbcode 00 an, um die Farbinformationen zu löschen. Sie können dieses Tag auch innerhalb der Variablen verwenden, um die Formatierung irgendwo in Ihrer Eingabeaufforderung auf den Standardwert zurückzusetzen. Zum Beispiel würde die folgende Zeile alle Färbungen vor dem beenden \$ Charakter.

Ψ1 = "\ [\ 033 [42m\]\[\033[31m \] \ u @ \ h: \ w \\ [\ 033 [00m\]\$ "

So legen Sie Ihre neue Standardaufforderung fest

Wenn Sie mit dem Experimentieren mit Farben fertig sind, sollten Sie in der aktuellen Sitzung eine Bash-Eingabeaufforderung erhalten, die Ihnen gefällt. Aber Sie möchten diese neue Eingabeaufforderung wahrscheinlich dauerhaft machen, damit sie automatisch in allen Ihren Bash-Sitzungen verwendet wird.

Dazu müssen Sie nur den Inhalt der PS1-Variablen in der .bashrc-Datei ändern, die wir uns zuvor angesehen haben.

Öffnen Sie die .bashrc-Datei in Ihrem bevorzugten Texteditor wie folgt:

nano ~ / .bashrc

Scrollen Sie nach unten und suchen Sie den Abschnitt PS1 =. Ersetzen Sie einfach die Standardvariable durch Ihre benutzerdefinierte Variable. Du wirst wahrscheinlich das verlassen wollen ${debian_chroot:+($debian_chroot)} Bits allein - sie werden jedoch nur angezeigt, wenn Sie sich in einer Chroot-Umgebung befinden.

Geben Sie Ihre farbige PS1-Variable unter ein wenn [ "$color_prompt" = yes ]; dann Linie. Geben Sie die Variable ohne Farben unter ein sonst Linie.

Speichern Sie die Datei und schließen Sie Ihren Texteditor. Um die Datei beispielsweise in Nano zu speichern, drücken Sie Strg + O, drücken Sie die Eingabetaste und dann Strg + X, um den Vorgang zu beenden.

Wenn Sie das nächste Mal eine neue Bash-Shell starten, z. B. indem Sie sich am Terminal anmelden oder ein neues Terminalfenster öffnen, wird Ihre benutzerdefinierte Eingabeaufforderung angezeigt.

.eintragsinhalt .Eintrittsfußzeile

How To Customize (and Colorize) Your Bash Prompt

Customize The Bash Prompt

How To Customize Your Bash Prompt ($PS1) [Linux]

How To Customize Your Bash Terminal Prompt

Customize & Colorize Your Bash Prompt/Terminal

Customize Your Bash Prompt With Escape Sequences

How To Change The Terminal Prompt (MacOS Zsh)

Change Terminal Prompt Color! (Linux Mint & Ubuntu) EASY!

Linux Tip | How To Customize Your BASH Environment

Customizing Your Terminal | Linux Terminal With Fancy Bash Prompt | Linux Terminal Beautification

How To Customize Your Terminal | Bashrc File | Colors & Display Prompt

Linux Terminal Love - Tips & Tricks #6 - Customise Terminal Bash Prompt


Wartung und Optimierung - Die beliebtesten Artikel

So reinigen Sie Ihren Nintendo Switch

Wartung und Optimierung Jul 14, 2025

Ihr Nintendo Switch ist wahrscheinlich schmutzig. Da der Switch als gemeinsame Familienkonsole und als Handheld-Spielekonsole eine doppelte Funktion hat, besteht die zusätzliche M�..


Können Sie Raumheizgeräte an intelligente Steckdosen anschließen?

Wartung und Optimierung Oct 20, 2025

Raumheizgeräte eignen sich hervorragend zum Aufwärmen von Räumen in Ihrem Haus, können aber auch bei unsachgemäßer Verwendung gefährlich sein. Sie fragen sich möglicherweise..


Warum kann ich keine Apps von Drittanbietern auf meinem Android-Handy installieren?

Wartung und Optimierung Sep 29, 2025

Es ist durchaus möglich, Anwendungen von Drittanbietern auf Ihrem Android-Telefon zu installieren, ohne sie über den Play Store herunterzuladen und zu installieren. Die heutige Fr..


So stellen Sie automatische Ruhezeiten in Android mit "Nicht stören" ein

Wartung und Optimierung Jul 7, 2025

Nicht stören-Modus unter Android kann nützlich sein, wenn Sie sich in einer Besprechung, in einem Film oder an einem anderen Ort befinden, an dem Ihr Telefon für eine..


Aktivieren Sie den Nachtlesemodus in jeder iOS-App

Wartung und Optimierung Dec 7, 2024

iOS: Wenn Sie ein großer Fan des neuen Nachtthemas in iBooks 1.5 sind und wünschen, dass das gesamte iOS einen benutzerfreundlichen Nachtmodus hat, finden Sie heraus, wie Sie das gesamt..


Verwenden Sie das geheime Debug-Menü von Evernote, um die Suche zu optimieren und zu beschleunigen

Wartung und Optimierung Jan 17, 2025

UNCACHED INHALT Wenn Ihre Evernote-Installation nach dem Hinzufügen von Tausenden von Notizen träge geworden ist, können Sie sie möglicherweise etwas beschleunigen tol..


So löschen Sie Speicher in Google Chrome

Wartung und Optimierung Dec 8, 2024

UNCACHED INHALT Die neuesten Entwicklungsversionen von Google Chrome bieten eine Möglichkeit, den Browser aufzuräumen und den Arbeitsspeicher nicht mehr zu belasten. Es ist einfach zu akt..


Genießen Sie eine saubere Startseite mit neuer Registerkarte

Wartung und Optimierung Jun 20, 2025

UNCACHED INHALT Suchen Sie eine sauber aussehende Startseite oder eine neue Registerkarte für Ihren Browser ohne all die Unordnung? Dann könnte New Tab Page genau das sein, wonach Sie suc..


Kategorien