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 < | ||