Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
start:linux:terminal:bash-prompt [2020/07/22 23:19] wikiadmin angelegt |
start:linux:terminal:bash-prompt [2020/07/23 21:14] (aktuell) wikiadmin |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Bash-Prompt anpassen ====== | ====== Bash-Prompt anpassen ====== | ||
- | Wie lässt sich der Bash-Prompt anpassen? | + | [[https:// |
+ | Das Aussehen des Bash Promptes wird in der Variablen **PS1** in der Datei **~/ | ||
+ | |||
+ | === Aufbau von PS1 === | ||
+ | |||
+ | Die PS1 Variable besteht im einfachsten Fall aus einer Zeichenkette. Zum Beispiel: | ||
+ | |||
+ | < | ||
+ | PS1=' | ||
+ | </ | ||
+ | |||
+ | oder einfach nur | ||
+ | |||
+ | < | ||
+ | PS1='>' | ||
+ | </ | ||
+ | |||
+ | Es können aber auch Befehle benutzt werden. | ||
+ | |||
+ | < | ||
+ | PS1=' | ||
+ | </ | ||
+ | |||
+ | würde zum Beispiel das aktuelle Arbeitsverzeichnisse gefolgt von einem Leerzeichen und dem größer Zeichen als Prompt anzeigen. | ||
+ | |||
+ | Außerdem gibt es noch eine ganze Menge Variablen die man benutzen kann. | ||
+ | |||
+ | |||
+ | |||
+ | ^Variable ^Ausgabe^ | ||
+ | |\a |das ASCII bell Zeichen (07)| | ||
+ | |\A |Uhrzeit im 24-Stunden Format (hh:mm)| | ||
+ | |\d |Datum im Format " | ||
+ | |\e |das ASCII Escape Zeichen (033)| | ||
+ | |\h |Hostname auf dem die Shell läuft; bis zum ersten " | ||
+ | |\H |Hostname komplett| | ||
+ | |\j |Anzahl der Jobs der Shell| | ||
+ | |\l |Das tty auf dem die Shell läuft| | ||
+ | |\n |neue Zeile| | ||
+ | |\t |Uhrzeit im 24h Format (hh:mm:ss)| | ||
+ | |\T |Uhrzeit im 12h Format (hh:mm:ss)| | ||
+ | |\r |carriage return| | ||
+ | |\s |Name der verwendeten Shell (sh, bash, ...)| | ||
+ | |\u |Username| | ||
+ | |\v |Version der Shell| | ||
+ | |\V |Release der bash (Version, Patchlevel)| | ||
+ | |\w |aktuelles Arbeitsverzeichnis| | ||
+ | |\W |letzter Teil des aktuellen Arbeitsverzeichnisses| | ||
+ | |\! |Aktuelle History-Nummer| | ||
+ | |\# |Aktuelle Befehls-Nummer| | ||
+ | |\$ |Wenn root eine "#", | ||
+ | |%%\\%% |Backslash| | ||
+ | |\nnn | ||
+ | |\[ |Beginn einer Seqenz von nicht-darstellbaren Zeichen| | ||
+ | |\] |Ende einer Seqenz von nicht-darstellbaren Zeichen| | ||
+ | |\@ |Uhrzeit im 12h am/pm Format| | ||
+ | |||
+ | |||
+ | Die Variablen, Befehle und alphanumerischen Zeichen(ketten) können | ||
+ | beliebig kombiniert werden. Das Arch Standard Prompt setzt sich z. B. so | ||
+ | zusammen: | ||
+ | |||
+ | < | ||
+ | PS1=' | ||
+ | </ | ||
+ | |||
+ | === Farben === | ||
+ | |||
+ | Es ist auch möglich das Bash Prompt Farbig zu gestalten. Das kann zum Beispiel hilfreich sein um optisch darauf hinzuweisen, | ||
+ | |||
+ | ^Sequenz | ||
+ | |\[\033[0; | ||
+ | |\[\033[1; | ||
+ | |\[\033[0; | ||
+ | |\[\033[1; | ||
+ | |\[\033[0; | ||
+ | |\[\033[1; | ||
+ | |\[\033[0; | ||
+ | |\[\033[1; | ||
+ | |\[\033[0; | ||
+ | |\[\033[1; | ||
+ | |\[\033[0; | ||
+ | |\[\033[1; | ||
+ | |\[\033[0; | ||
+ | |\[\033[1; | ||
+ | |\[\033[0; | ||
+ | |\[\033[1; | ||
+ | |\[\033[0m\] |farblos (zurücksetzen auf default Farbe)| | ||
+ | |||
+ | Mit den folgenden Sequenzen kann man die Hintergrundfarbe setzen: | ||
+ | |||
+ | ^Sequenz ^Hintergrundfarbe^ | ||
+ | |\[\033[XXm\] |Keine Hintergrundfarbe| | ||
+ | |\[\033[40; | ||
+ | |\[\033[41; | ||
+ | |\[\033[42; | ||
+ | |\[\033[43; | ||
+ | |\[\033[44; | ||
+ | |\[\033[45; | ||
+ | |\[\033[46; | ||
+ | |\[\033[47; | ||
+ | |||
+ | === Position des Cursors === | ||
+ | |||
+ | Innerhalb des Prompts lässt sich die Cursorposition mit der folgenden | ||
+ | Sequenz setzen: | ||
+ | |||
+ | < | ||
+ | \033[< | ||
+ | </ | ||
+ | |||
+ | Die aktuelle Position lässt sich mit der folgenden Sequenz sichern: | ||
+ | |||
+ | < | ||
+ | \033[s | ||
+ | </ | ||
+ | |||
+ | Um die gespeicherte Position wiederherzustellen verwendet man die Sequenz | ||
+ | |||
+ | < | ||
+ | \033[u | ||
+ | </ | ||
+ | |||
+ | Im folgenden Beispiel wird die aktuelle Zeit in der rechten oberen Ecke des Terminals angezeigt: | ||
+ | |||
+ | < | ||
+ | PS1="> | ||
+ | </ | ||
+ | |||
+ | Die Umgebungsvariable COLUMNS enthält die Anzahl der Spalten des Terminals. Im obigen Beispiel wird von diesem Wert 4 abgezogen, um die fünfstellige Ausgabe von /date/ am rechten Rand zu platzieren. | ||
+ | |||
+ | === Beispiel === | ||
+ | |||
+ | Zur besseren Unterscheidung ob man gerade als Root oder normaler User arbeitet könnte man das Standard Arch Prompt z. B. so verändern, dass der Username farbig dargestellt wird. | ||
+ | |||
+ | In diesem Beispiel hellrot für Root und türkis für den User in die **// | ||
+ | |||
+ | < | ||
+ | PS1=' | ||
+ | </ | ||
+ | |||
+ | * in die **// | ||
+ | |||
+ | < | ||
+ | PS1=' | ||
+ | </ | ||
+ | |||
+ | Rückgabewerte von Bash Kommandos im Bash Prompt visualisieren. | ||
+ | |||
+ | Um den Rückgabewert des letzten Bash Kommandos im Prompt zu visualisieren stehen zum Beispiel die Unicode Symbole | ||
+ | |||
+ | * ✓ für einen erfolgreichen Rückgabewert | ||
+ | * ✗ für einen fehlerhaften Rückgabewert | ||
+ | |||
+ | zur Verfügung. In dieser Beispielkonfiguration werden diese zwei Unicode Symbole verwendet: | ||
+ | |||
+ | < | ||
+ | \u@\h $(if [[ $? == 0 ]]; then echo " | ||
+ | </ | ||
+ | |||
+ | und ergeben diesen Bash Prompt: | ||
+ | |||
+ | < | ||
+ | user@host ✓ ~ $ true | ||
+ | user@host ✓ ~ $ false | ||
+ | user@host ✗ ~ $ true | ||
+ | user@host ✓ ~ $ | ||
+ | </ | ||
+ | |||
+ | Die Idee und Motivation zu diesem Kapitel sowie weitere Beispiele hierzu finden sich [[https:// | ||
+ | |||
+ | |||
+ | === Siehe auch === | ||
+ | |||
+ | [[https:// | ||
+ | [[https:// | ||
+ | |||
+ | |||
+ | === Weblinks === | ||
+ | |||
+ | Bash Prompt HOWTO und Beispiele < | ||
+ | |||
+ | Sprache en.png < | ||
+ | |||
+ | Dieser Artikel (oder Teile davon) steht unter GNU FDL < | ||
+ | |||
+ | Wiki < | ||
+ | |||
+ | Abgerufen von „https:// | ||
+ | Konsole < |