a dev's blog

Some thoughts about thoughts.

Endlich ein schöner bash prompt mit Anzeige des git branches

2015-03-03 Development

Worum gehts?

Wer kennt das nicht… Man sitzt vor seinem Rechner, starrt in seinen Terminal und denkt sich: “Hey, also irgendwie könnte das doch besser aussehen”. Und nach einer kurzen Suche im Netz findet man die gleichen Artikel, die man sich schon einige Male zuvor angeschaut hat. Wenns richtig gut läuft, findet man noch eine Kleinigkeit mit der man seinen eigenen Prompt verbessern kann, aber so rundum zufrieden ist man dann doch nicht.

Dank eines Arbeitskollegen konnte ich meinem Prompt jetzt den letzten (zumindest hoffe ich das) Schliff geben.

Meine Anforderungen

Da ich öfter via ssh auf verschiedenen Systemen unterwegs bin und dies bestenfalls auch noch mit anderen Usern, brauche ich Informationen über den aktuellen User sowie den aktuellen Host auf ich mich gerade befinde.

Außerdem finde ich es sehr praktisch, wenn die Uhrzeit mit im Prompt auftaucht. Das hat den Vorteil, dass man im nachhinein im Terminalfenster scrollen kann und immernoch erkennen kann, wann man welches Kommando ausgeführt hat.

Der Pfad zu dem Ordner in dem ich mich gerade befinde, soll genauso erkennbar sein, wie der git branch, falls der Ordner unter Versionskontrolle steht.

Die Lösung

Folgene Zeilen müssen in die .bash_profile oder .bash_rc im Homeverzeichnis des aktuellen Benutzers wandern:

{% gist chclaus/0ee9aafdc5b239ae35a6 %}

Und wie sieht das Ergebnis aus?

A beautiful bash prompt

Aufbau des Prompts

  1. user@hostname
  2. Datum mit Uhrzeit in eckigen Klammern
  3. Der aktuelle Pfad zum Arbeitsverzeichnis
  4. Der aktuelle git branch des Arbeitsverzeichnisses

Fazit

Ich bin endlich glücklich mit meinem neuen Prompt und hoffe dem ein oder anderen da draußen eine Inspiration oder Lösung für ähnliche Probleme an die Hand gegeben zu haben.