QuarkStar

QuarkStar

… bringt laufend Tipps zum produktiveren Arbeiten mit dem Mac, iOS
und dem Web


Polier’ deinen Mac: bash-Prompt ändern

TerminalDer bash-Prompt ist standardmäßig zwar recht langweilig, aber er zeigt zumindest schon nützliche Information an.

Unter Mac OS X lautet er normalerweise: <Computername>:<aktuelles Verzeichnis> <Username>$

Bei mir sieht das zum Beispiel so aus:

Standard bash prompt

Dieser Prompt ist völlig frei konfigurierbar und man kann sich jede Menge nützlicher Information anzeigen lassen. Nach ein bisschen Customization in der Datei ~/.bash_profile sieht mein Prompt jetzt so aus:

Custom bash Prompt

Auf zwei Zeilen wird zunächst der Hostname, dann das aktuelle Verzeichnis und dessen Größe angezeigt. Darunter fragt die Bash noch höflich was sie für mich tun kann. Das ganze ist Ergebnis einiger spezieller Variablen, die man sich im Prompt ausgeben lassen kann. So zeigt \u beipielsweise den Namen des aktuellen Users an.

Man kann sich aber prinzipiell die Ausgabe jeder beliebigen Funktion anzeigen lassen und selbst Funkionen schreiben.

Mein Prompt-Script in der ~/.bash_profile sieht folgendermaßen aus:


function size {
let TotalBytes=0
for Bytes in $(ls -l | grep "^-" | awk '{ print $5 }')
do
let TotalBytes=$TotalBytes+$Bytes
done
# The if...fi's give a more specific output in byte, kilobyte, megabyte,
# and gigabyte
if [ $TotalBytes -lt 1024 ]; then
TotalSize=$(echo -e "scale=3 \n$TotalBytes \nquit" | bc)
suffix="b"
elif [ $TotalBytes -lt 1048576 ]; then
TotalSize=$(echo -e "scale=3 \n$TotalBytes/1024 \nquit" | bc)
suffix="kb"
elif [ $TotalBytes -lt 1073741824 ]; then
TotalSize=$(echo -e "scale=3 \n$TotalBytes/1048576 \nquit" | bc)
suffix="Mb"
else
TotalSize=$(echo -e "scale=3 \n$TotalBytes/1073741824 \nquit" | bc)
suffix="Gb"
fi
echo -n "${TotalSize}${suffix}"
}
function loadavg {
uptime | sed -e "s/.*load average: \(.*\...\), \(.*\...\), \(.*\...\)/\1/" -e "s/ //g"
}
function prompt {
export PS1="
\h: \w (\$(size))
\u, thy wish is my command
$ "
}
prompt

Eine komplette Dokumentation der Befehle und weitere Anregungen findet man im Bash Prompt HOWTO

War dieser Artikel hilfreich?
rss Icon RSS

Ein Kommentar – Kommentieren oder Pingen

  1. Vielen Dank.

    So etwas habe ich schon immer gesucht!

“Polier’ deinen Mac: bash-Prompt ändern”