Scripttip: Mehr Informationen im Bash-Prompt

Welche Ruby-Version verwende ich gerade und in welchem Git-Branch arbeite ich momentan…? Um nicht jedes mal „–version“ und mehr aufzurufen um an diese Information zu kommen, kann man einfach sein Bash-Prompt erweitern. So sind die aktuellen Daten immer präsent und kann u.U. auch Fehler vermeiden.

Um die entsprechenden Details im Bash-Prompt anzuzeigen kann folgende Ergänzung in der .bashrc vorgenommen werden. (In diesem Beispiel gehe ich davon aus, dass rvm zur Verwaltung der Ruby-Version eingesetzt wird.)

[bash]
# In dieser Funktion ermitteln wir den aktuellen Git-Branch in dem wir uns befinden
function find_git_branch {
git branch –no-color 2> /dev/null | sed -e ‚/^[^*]/d‘ -e ’s/* (.*)/[1] /‘
}

rvm system

# Hier wird die aktuelle Ruby-Version ermittelt
function get_rvm_ruby_version(){
RUBY_INFO=`rvm-prompt`
PROMPT_STR=""
if [ -n "$RUBY_INFO" ]; then
PROMPT_STR="[$RUBY_INFO]"
fi
echo $PROMPT_STR
}

# Diese Funktion erweitert den Prompt mit den Daten aus den vorherigen Funktionen
function prompt_func(){
export PS1="[e]0;wa]n[e[32m]u@h [\033[1;36m]$(get_rvm_ruby_version) [\033[0;34m]$(find_git_branch) [e[33m]w[ e[0m]n$ "
}

PROMPT_COMMAND=prompt_func
[/bash]

Nachdem die .bashrc um diese Funtionen ergänzt wurden findet man alle Information in seinem neuen Prompt:
benutzer@host [ruby language=“-1.8.7-p248″][/ruby] [master] ~/mein/pfad/im/git/projekt

Wenn keine Ruby-Version aktiviert ist oder man sich nicht in einem Git-Verzeichnis befindet, werden die entsprechenden Stellen im Prompt weggelassen.