bash-Befehlssubstitution…

…oder: Wie mache ich mir das Shell-Leben einfacher?

Heute musste ich mal wieder auf einem “fremden” Unix arbeiten. Gewohnt von “Zuhause” tippte ich fürs Directory-Listing dir anstatt ls - lh ein. Folglich bekam ich die niederschmetternde Antwort: “-bash: dir: not found” zu lesen! Aber: Ich bin nun mal ein “DOS-Kind” und benötige mein dir!

Zum Glück fiel mir die Alias-Definition der bash ein (schließlich erreichte ich damit auf der Kommandozeile von mu21-srv annähernde DOS-Kompatibilität):

alias dir='ls -lh'

in die Datei ~/.bashrc (falls vorhanden - ansonsten anlegen) einfügen… Und schon ist der DOS-Befehl dir auch auf der bash verfügbar! Allerdings nur für den jeweiligen Benutzer. Möchte man für alle Benutzer der Maschine dieses Verhalten erzeugen, so wird dieser Eintrag in /etc/bash.bashrc fällig!

Generell:

alias gewuenschter_befehl='bash_befehl -mit_optionen'


Dies gilt leider nicht für alle Shell-Varianten. Auf Embedded-Linux-Systemen wie z.B. AVM Fritz Box Fon oder Linksys WRT54G wird meist die BusyBox Distribution eingesetzt (geringe Größe). Die Funktion alias ist der dort verwendeten Almquist-Shell (ash) jedoch unbekannt »» ganzer Artikel » bash-Befehlssubstitution…