Freitag, 16. November 2007

bash_completion bei openSUSE

*seufz* Da ist man als (K)Ubuntu-User "out of the box" solchen bash-Komfort gewohnt -- und bei openSUSE muss man erst das entsprechende Paket nachinstallieren...

Aber der Reihenfolge nach: Als (K)Ubuntu-User, der oft mit der bash ("Bourne-Again-Shell") arbeitet, hat man sich ja an die automatische Befehlsergänzung mit der Tab-Taste schnell gewöhnt: Nicht nur Befehle an sich, Datei- und Verzeichnisnamen werden dort ergänzt, sondern auch abhängig vom eingegebenen Kommando die entsprechenden Optionen angeboten: "apt-get in[tab]" wird zu "apt-get install" ergänzt, "cvs [tab][tab]" zeigt alle Möglichkeiten an, die CVS bietet oder "ls --co[tab]" wird zu "ls --color" ergänzt; "make [tab][tab]" zeigt alle Targets, die das im aktuellen Verzeichnis liegende Makefile bietet etc. Wer sich schon immer gefragt hat, wie das funktioniert, der sollte sich einmal die Datei /etc/bash_completion ansehen, in der dieses Verhalten für alle möglichen unterstützten Befehle definiert wird. Diese Datei ist bei Ubuntu im Paket "bash" gleich mit enthalten, d.h. immer standardmäßig installiert und eingebunden.

Bei openSUSE hingegen muss erst (z.B. mit YaST2) das Paket "bash_completion" installiert werden, um in den Genuss des o.g. Komforts zu kommen.

Falls für das favorisierte Betriebssystem mit bash (gibt's auch für Windows, beim Mac ist sie sowieso dabei) kein Paket erhältlich ist oder man keine Admin-Rechte zu dessen Installation hat, kann man das Skript bash_completion auch hier herunterladen und manuell in die eigene .bashrc einbinden.

Für Mac OS X gibt es auch ein Darwinports-Paket: http://bash-completion.darwinports.com/

Hier nochmal der Link zur bash_completion Homepage: http://www.caliban.org/bash/index.shtml#completion

Keine Kommentare: