Shellskripte aus der Stümper-Liga – Folge 23: Dash statt Bash
Bash Bashing
Bernhard Bablok
Mit Debian Squeeze und Ubuntu 6.10 flog die Bash aus diesen Distributionen als Default-Shell raus. Die Begründung: nicht Posix-konform, zu langsam, zu hoher Speicherbedarf. Neue Perle am Muschelstrand ist die Dash, die Debian Almquist Shell.
Wie das ganze Unix-Universum hat auch die Shell eine komplizierte Genealogie. Da sich Software-Entwickler selten damit abfinden, dass ihre Software fertig ist, wächst der Funktionsumfang von Version zu Version. Die Bash ist dafür ein gutes Beispiel, so hat die recht neue Version 4 eine ganze Reihe von nützlichen Erweiterungen gebracht [1]. Mit jeder Erweiterung entfernt sich die Bash aber ein Stück weiter vom Posix-Standard. Als kleinster gemeinsamer Nenner stellt er eine minimale Interoperabilität zwischen verschiedenen Unix-Systemen sicher – allerdings eher auf dem Papier als in der Realität.
Ein weiterer Effekt bei Erweiterungen ist behäbiger Art: Die Bash wird größer, hängt von mehr Bibliotheken ab, lädt langsamer und parst länger an der ständig wachsenden Sprachsyntax. Im interaktiven Betrieb merkt der Anwender davon wenig. Aber beim Booten starten viele meist kurze Skripte, und hier addieren sich die Ladezeiten zu merkbaren Verzögerungen. Die Macher einiger Distributionen gingen daher auf Muschelsuche und wurden mit der Dash [2] fündig.
Die Default-Shell
Der Begriff "Default-Shell" ist etwas schwammig, es gibt hierfür keinen offiziellen Standard. Üblich auf Unix-Systemen ist ein Symlink von »/bin/sh«
auf eine Shell-Implementation, die dann diese Rolle einnimmt. Die Macher von Debian und Ubuntu änderten diesen Link von der Bash auf die Dash ([3] für Unbuntu). Seither ziehen alle Skripte mit dem Shebang »#!/bin/sh"«
automatisch die Dash an. Der Effekt: Von einem Augenblick auf den anderen weisen Skripte mit diesem Shebang, die trotzdem Bash-Konstrukte verwenden, Syntaxfehler auf.
[...]
Das Linux-Magazin Online veröffentlicht erstmals alle Print-Artikel,
die in den vergangenen sechs Jahren im Linux-Magazin erschienen sind.
Damit steht Ihnen ein hochwertig bestücktes Archiv bis hin zu den Beiträgen
der aktuellen Ausgabe online zur Verfügung. Die über 1200 Artikel sind
größtenteils kostenlos zugänglich, nur für Beiträge (als PDF) der
jüngsten zehn Linux-Magazine ist eine Gebühr von jeweils 99 Cent fällig.
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.