Eigentlich ist das Folgende nichts aussergewöhnliches und unter Linux Alltag, aber da ich auf meinem Mac die Kommandozeile selten nutze, will ich hier mal festhalten, was ich recherchiert habe um diese etwas komfortabler zu gestalten, wenn man das OS X Standardtool Terminal einsetzen will. Ziel ist es den Prompt zu ändern und ein paar Alias-Einträge einzurichten.
Die Konfigurationsdatei automatisch einlesen
Das Hauptproblem ist die Einbindung der Konfigurationsdatei. Und leider ist das wohl auch von der Version von Mac OS abhängig. Meine Beschreibung bezieht sich auf Snow Leopard und ich gehe davon aus, dass die Bash-Shell verwendet wird. Wenn an der Standardkonfiguration nichts geändert wurde, dann ist diese bereits gesetzt.
Jedenfalls musste ich einiges recherchieren und ausprobieren bis die Konfiguration zuverlässig geladen wird, wenn
- Terminal gestartet wird,
- ein zusätzliches Fenster geöffnet wird oder
- ein neues Tab aktiviert wird.
Ärgerlicherweise verhält sich Terminal dabei nicht einheitlich und zieht unterschiedliche Konfig-Dateien je nach Situation an. Der relativ einfache Fix ist, das man zwei identische Konfigurationsfiles einsetzt, bzw. eine Master-Konfig-Datei und einen symbolischen Link darauf für die andere Datei. Es mag auch andere Lösungen geben, aber diese funktioniert.
In der Terminalkonfiguration muss als Shell die Standardeinstellung beibehalten werden - also /bin/Local/login.
Im Homeverzeichnis des gewünschten Users muss die Datei .bashrc und .bash_profile angelegt werden. Bei mir ist .bashrc der Master für den Symbolischen Link.
Anlegen des Master-Konfigfiles:
nano .bashrc oder
vi .bashrc
Anlegen des Symbolischen Links:
ln -si .bashrc .bash_profile
Ich gehe im Folgenden davon aus, dass die Konfiguration wie oben beschrieben verwendet wird.
Prompt anpassen
In der .bashrc muss die Environmentvariable PS1 mit den Optionen für den Prompt gesetzt werden. Die meist genutzten Optionen lauten wie folgt:
- \t - Aktuelle Zeit
- \d - Aktuelles Datum
- \W - Aktueller Verzeichnisname ohne Pfad (z.B. Desktop/)
- \w - Aktueller Pfad und Verzeichnisname (z.B. /Users/Admin/Desktop)
- \h - Hostname
- \u - Username
- \# - Kommando Nummer
- \n - Zeilenumbruch
Folgender Eintrag z.B.
export PS1="\t - \w\n\u@\h: "
Liefert folgenden Prompt:
14:40 - /user/Home/username
Username@meinMac:
Alias eintragen
Einen Alias trägt man dann ebenfalls einfach in die .bashrc ein, wobei hier keine Unterschiede zur Linux Bash vorhanden sind. Ein paar Beispiele:
Alias ..="cd .."
Alias ll="ls -la -G"
Alias l=ls
Quellen und weiterführende Links: