Aufzucht und Hege von Shell-Scripts: Shell-Unterschiede
Unterschiede zwischen den Shells
Überlegt Euch, auf welchen Systemen und in welchen Shells Euer Script laufen soll. Die Bourne Again Shell (bash) ist auf Linux-Rechnern wohl immer vorhanden. Auf kommerziellen Unix-Systemen sieht das z. T. anders aus, dort findet man sie heutzutage zwar meist, aber sie ist nicht die Default-Shell und manchmal auch nicht vorhanden. Dafür gibt es die Korn-Shell (ksh). Die bash bietet einige Sprachkonstrukte, die in anderen Shells nicht vorhanden sind, im Zweifelsfall seht Euch also nach einer kompatiblen Lösung um. Ihr könnt das auch testen, zumindest die Public Domain Korn-Shell (pdksh) sollte Bestandteil vieler Distributionen sein. Hier ein Beispiel für solche Unterschiede:
# Kommandosubstitution # bash-spezifisch DATUM=$(date) # alle Shells: DATUM=`date` # Variablen-Export # nur bash und ksh: export PFAD=/home/jan # alle Shells: PFAD=/home/jan export PFAD
Update: Kürzlich hatte ich die Manual-Page der Korn-Shell auf einem Solaris10-Rechner vor Augen. Es scheint so, dass einige Fähigkeiten der bash mittlerweile auch hier verfügbar sind, wie z. B. die Kommandosubstitution aus meinem 1. Beispiel.

