Prompt
Fehlendes Makro
Das Makro „InArbeit“ konnte nicht gefunden werden.
Fehlendes Makro
Das Makro „Getestet“ konnte nicht gefunden werden.
* [1]: [:Editor: Einen Editor öffnen] * [2]: [:Umgebungsvariable: Umgebungsvariablen setzen]
Dieser Artikel beschreibt, die man mit wenigen Handgriffen die Shell bzw. das Prompt in der Shell etwas persönlicher gestalltet als das <benutzer>@<rechner>:~$
Allgemeines über die Shells¶
Es gibt mehrere verschiedene Shells
sh - die Bourne Shell
bash - die Bourne Again Shell
ksh - Die Korn Shell
csh - die „C“-Shell
tcsh - die TC Shell
zsh - Featuritis
sash - System Administrators Shell
Sie alle unterscheiden sich in den Konstrukten zur Programmierung, in der Benutzer-Interaktion, im Syntax, in der Lizenz. Auch wie das Prompt modifiziert wird unterscheidet sich. Dieser Artikel wird sich mit der Bourne Again Shell befassen.
Modifizierung in der Bourne Again Shell¶
Das Prompt wird in der Variable PS1 gespeichert. Dies kann man ganz einfach mit
echo $PS1
auslesen. Als Standard ist
${debian_chroot:+($debian_chroot)}\u@\h:\w\$
eingetragen. Was die einzelnen Sachen bedeuten wird später beschrieben. Da es sich um eine Umgebungsvariable handelt kann diese auch überschrieben werden. Dies geschieht in einem ganz einfachen Fall mit
PS1='> '
Danach ist das Prompt nur noch das Relationszeichen ">". Es können aber auch Ausgaben von allen Befehlen in das Prompt mit einbezogen werden.
PS1='`pwd` > '
So wird das aktuelle Verzeichnis gefolgt von dem Relationszeichen angezeigt. Neben den Befehlen gibt es eine Reihe von Variablen, die benutzt werden können:
Escape-Zeichen | Ausgabe |
\A | Uhrzeit im 24-Stunden Format |
\u | Name des Nutzers, der die Shell gestartet hat |
\h | Hostname auf dem die Shell läuft |
\w | momentanes Arbeitsverzeichnis |
\W | letzte Komponente des Arbeitsverzeichnisses |
\! | Aktuelle History-Nummer |
\l | DasTTY, auf dem die Shell läuft |
Die Ausgabe von "Uhrzeit user@rechner verzeichnis history-nummer >" wird erzeugt durch
PS1='\A \u@\h \W \!>'
Diese Standard-Escape-Zeichen und Befehle kann man beliebig komplex schachteln und auch noch ganz normale alphanumerische Zeichen einbauen.
Farben¶
Um das neu erstellte Prompt auch noch optisch ansprechender zu gestallten und nicht nur mit Informationen zu füttern, kann man noch Farben verwenden. Farbcodierungen werden dafür einfach in den String zum setzen der PS1-Variable eingebaut.