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

# 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;\w\a\]\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

Nachdem die .bashrc um diese Funtionen ergänzt wurden findet man alle Information in seinem neuen Prompt:
benutzer@host [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.

Eingestellt am 09.09.2010 um 08:00

Kategorie: Tutorials

Be Sociable, Share!

Kommentare für diesen Artikel wurden geschlossen.

Suchen auf rubyonrails.de

Aktuelle Rails Version + Abhängigkeiten:

Gem rails-3.0.0
actionmailer (= 3.0.0, runtime)
actionpack (= 3.0.0, runtime)
activerecord (= 3.0.0, runtime)
activeresource (= 3.0.0, runtime)
activesupport (= 3.0.0, runtime)
bundler (~> 1.0.0, runtime)
railties (= 3.0.0, runtime)

Rails auf Rubyforge
Rails auf Github