Nicht jedem gefällt der Prompt der Bash am Terminal unter Linux, je nach Distribution ist dieser anders gestaltet – hier einmal unter Debian Sid:

robertg@robert-nblbwax9n:~$

Zu Beginn sehen Sie hier den Nutzernamen des aktuell angemeldeten Nutzers, nach dem „@“ zeigt sich der Name des Rechners, es endet mit dem Verzeichnis, in dem man sich auf dem Terminal aktuell befindet – in diesem Fall zeigt sich mit „~“ das Home-Verzeichnis.
Hier als weiteres Beispiel als root-Nutzer:

root@robert-nblbwax9n:/home/robertg#

Und genau dieser Prompt lässt sich wie gewünscht anpassen. Sie können sich diverse Informationen anzeigen lassen, wie auch die farbliche Gestaltung ändern.

Den Bash-Prompt anpassen

Als Erstes wollen wir uns einmal die aktuelle Konfiguration anzeigen, dies gelingt mit dem Befehl:

echo $PS1

In meinem Fall erhalte ich hier die Ausgabe:

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

Und als root:

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

Mit diesem angezeigten Code erhalten Sie also den Bash-Prompt (Shell-Prompt), der Ihnen angezeigt wird. Dies sieht ein wenig kompliziert aus, ist aber nicht wirklich der Fall – Sie müssen nur verstehen, was eigentlich dahinter steckt.

Wollen wir ganz einfach beginnen, mit dem Befehl:

PS1=''

legen wir fest wie der Bash-Prompt aussehen soll, unter Anführungszeichen geben wir den Code an. Keine Angst, solange Sie die Änderungen nicht speichern bleiben die Änderungen nur temporär – starten Sie das Terminal neu sind die Anpassungen wieder weg – Sie können also problemlos experimentieren.

Wollen wir einfach nur einmal das Größer-Zeichen als Shell-Prompt nutzen – ganz einfach:

PS1='> '

Wir können aber statt eines beliebigen Zeichens auch einen gewünschten Befehl angeben oder diesen irgendwo im Code einbauen – etwa den Befehluname -a“ und anschließend das Größer-Zeichen (nach diesem erfolgt ein Leerzeichen, damit der Cursor etwas Abstand hält):

PS1='$(uname-a) > '

Wollen Sie die Einstellungen dauerhaft speichern, schreiben Sie die Änderungen, wie als Befehl angegeben, in die in Ihrem Home-Verzeichnis versteckt liegende Datei.bashrc“ als neue Zeile. Anschließend starten Sie das Terminal neu oder laden die Einstellungen mit:

source ~/.bashrc

neu.

Nun wollen wir uns einmal ansehen, mit welchen Informationen wir den Shell-Prompt füttern können (die farbliche Gestaltung sehen wir uns später an, denn diese ist etwas komplizierter):

CodeBeschreibung
\aDie Shell-Glocke
\ADie Uhrzeit im 24-Stunden Format (hh:mm)
\dDas Datum im Format „Wochentag Monat Tag“
\eDas Escape Zeichen (033)
\hDer Hostname auf dem die Shell läuft bis zum ersten Punkt
\HDer Hostname komplett
\jDie Anzahl der laufenden Jobs
\lDas TTY – Terminal auf dem die Shell läuft
\nNeue Zeile
\tDie Uhrzeit im 24h Format (hh:mm:ss)
\TDie Uhrzeit im 12h Format (hh:mm:ss)
\rZurück
\sDie verwendete Shell
\uDer angemeldete Nutzer
\vDie Version der Shell
\VDas Release der Bash
\wDas aktuelle Arbeitsverzeichnis
\WNur der letzte Teil des aktuellen Arbeitsverzeichnisses
\!Die aktuelle History-Nummer
\#Die Aktuelle Befehls-Nummer
\$Wenn root eine „#“, sonst ein“$“
\\Der Backslash
\nnnDas Zeichen entsprechend der oktalen Zahl nnn
\[Der Beginn einer Sequenz von nicht-darstellbaren Zeichen
\]Das Ende einer Sequenz von nicht-darstellbaren Zeichen
\@Die Uhrzeit im 12h am/pm Format

Nun wollen wir uns beispielsweise den Nutzernamen und nach dem „@“ die Uhrzeit und das aktuelle Verzeichnis anzeigen lassen:

PS1='\u@ \t \w: \$'

Ergibt:

robertg@ 09:01:08 ~: $

Farben am Terminal

Die farbliche Gestaltung ist etwas komplizierter – wir finden erst einmal die Farbtabelle der Shell auf der Linux Bibel (Mittelklick auf den Link). Nehmen wir wieder den oberen Code – also:

PS1='\u@ \t \w: \$'

Ich möchte beispielsweise den Nutzernamen Grün darstellen – also nutze ich den Code „\[\033[0;32m\]„:

PS1='\[\033[0;32m\]\u\[\033[0m\]@ \t \w: \$'

Wichtig ist der Code „\[\033[0m\]“ – mit diesem wird die Farbe zurückgesetzt, ansonsten würde der komplette weitere Code in Grün sein bis man wieder eine andere Farbe angibt. Nun möchte ich den Nutzernamen noch Grau hinterlegen – der Code für die Hintergrundfarbe Grau „\[\033[47;XXm\]“ – statt „XX“ geben Sie einfach die Vordergrundfarbe – in diesem Fall wie oben „0;32“ für Grün an, ob Sie Vordergrundfarbe oder Hintergrundfarbe zuerst angeben ist egal:

PS1='\[\033[0;32;47m\]\u\[\033[0m\]@ \t \w: \$'

So können Sie nun spielen wie Sie wollen – etwa:

PS1='\[\033[0;32;47m\]\u\[\033[0m\]@ \[\033[0;35;46m\] \[\033[1;36;41m\]\t\[\033[0m\] \w: \$'

Ergibt:

Kleiner Tipp – einen Bash-Prompt-Generator für den Prompt gibt es hier.

Categories:

Schreibe einen Kommentar

Noch keine Reaktion

Neue Themen im Forum
Debian installieren - für Anfänge …Danke LinuxBiber, das hilft gut weiter. Wenn da aber für den De … Weiterlesen
Frage zu GrubDanke @juhu, das war für mich eine reine Verständnisfrage allge … Weiterlesen
Brother Drucker unter LinuxMit der Suche nach „Linux Brother HL-2030“ fand ich zur Seite htt … Weiterlesen
Kategorien im Wiki
WIKI-Beiträge des Monates

Die Beiträge des Monates finden Sie im Kalender unter den blau markierten Tageszahlen.

September 2023
M D M D F S S
 123
45678910
11121314151617
18192021222324
252627282930  
Archive