Custom Bash Prompt

In der globalen Variable PS1 wird der Standardprompt der Shell definiert. Mit Hilfe unterschiedlicher Escape Sequenzen (Buchstaben mit vorangestelltem Backslash, die von der Shell interpretiert werden) kann der Prompt den eigenen Bedürfnissen angepasst werden.

Escape Sequenzen

Zeichen Bedeutung
\d Zeigt das Datum an
\e ESC-Zeichen [escape]
\h Hostname bis zum ersten „.“
\H Vollständiger Hostname
\j Anzahl Hintergrundprozesse
\l Terminalname
\u Benutzer-Name
\w Vollständiges Arbeitsverzeichnis
\W Arbeitsverzeichnis (Teil nach letztem „/“)
\s Name der Shell
\v Bash-Version
\V Bash-Version (inkl. Release und Patchlevel)
\$ „$“-Zeichen für normalen Benutzer, „#“-Zeichen für root
\# Befehlszeilennummer in aktueller Sitzung
\! Befehlszeilennummer über Sitzungen hinweg
\\ Backslash
\t Zeit im 24-Stunden-Format
\T Zeit im 12-Stunden-Format

Mit nachfolgendem Befehl kann man sich die Zusammensetzung des Default OSX Prompt ausgeben lassen:

$ echo $PS1
\h:\W \u\$

Mit Hilfe der obigen Tabelle kann nun leicht die Eingabeaufforderung den eigenen Wünschen entsprechende angepasst werden. Für alle die es bunt mögen, stehen auch noch Farbcodes bereit:

Farbe Code
Black 0;30
Blue 0;34
Green 0;32
Cyan 0;36
Red 0;31
Purple 0;35
Brown 0;33
Light Gray 0;37
Dark Gray 1;30
White 1;37

Nicht darstellbare Escape-Sequenzen müssen zwischen einem \[\e[ und einem \] eingeschlossen werden, Farb-Codes sollten mit einem zusätzlichem m.

Beispiel

export PS1='\[\e[0;37m\h:\W \$\e[0m\] '

Das Export-Kommando für den eigenen Prompt muss anschließend in ~/.bash_profile gespeichert und diese dann neu eingelesen werden (alternativ einfach die Shell neu starten):

$ source ~/.bash_profile

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.


75 − = 65