Shells ...
Die Diskussion um die beste Shell der Welt sehe ich manchmal mit einem Grinsen auf den Lippen. Es ist wohl unbestritten, dass die Z-Shell die derzeit beste Shell auf unixoiden Systemen ist. Davon haben Administratoren in grossen oder sehr grossen Umgebungen, so wie ich, leider nichts. Bei uns werkeln Systeme mit definierten aber unterschiedlichen Versionsständen.
Sicher ist allerdings, dass auf allen Systemen eine Korn-Shell verfügbar ist. Womit also Skripte schreiben? Wenn die Skripte auf echten Unixen und auf Linux laufen sollen, führt kein Weg an dem grössten gemeinsamen Nenner vorbei, auch wenn es deutlich schönere Lösungen gibt.
Selbst wenn es mehrere Versionen der Bourne-again shell im eigenen Netzwerk gibt, kann man sich bei übegreifendem Scripting wieder nur auf das Vorhandensein der kleinsten Version verlassen, auch wenn die aktuellste Version vielleicht Features hat, die das Leben leichter machen.
In dem Zusammenhang möchte ich noch einmal auf #!/bin/sh hinweisen.
Sicher ist allerdings, dass auf allen Systemen eine Korn-Shell verfügbar ist. Womit also Skripte schreiben? Wenn die Skripte auf echten Unixen und auf Linux laufen sollen, führt kein Weg an dem grössten gemeinsamen Nenner vorbei, auch wenn es deutlich schönere Lösungen gibt.
Selbst wenn es mehrere Versionen der Bourne-again shell im eigenen Netzwerk gibt, kann man sich bei übegreifendem Scripting wieder nur auf das Vorhandensein der kleinsten Version verlassen, auch wenn die aktuellste Version vielleicht Features hat, die das Leben leichter machen.
In dem Zusammenhang möchte ich noch einmal auf #!/bin/sh hinweisen.
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
strcat am :
Ist ja auch kein Thema wenn man /bin/bash oder wasweißichwas als Shebang angibt, allerdings sollte man das nur machen wenn man shellspezifische Syntax verwendet, die "nur" unter /bin/bash (als Beispiel) funktioniert. Ein
echo "Jehova."
ist ein "falscher" Einsatz der Bash, weil für sowas (auch wenns ein extremst simples Beispiel ist) /bin/sh als Interpreter reicht. Das funktioniert dann auf jedem Linux/Unix.
Andere Interpreter als #!/bin/sh sollte man meiner Ansicht nach in einem Script nur verwenden, wenn man wie gesagt shellspezifische Syntax verwendet.
Dirk Deimeke am :
strcat am :
Wenn shellspezifische Syntax verwendet wird, dann sollte man auch diese Shell als Interpreter angeben, korrekt.
Dirk Deimeke am :