In den meisten Shell-Skripten, die ich gesehen habe (außer denen, die ich nicht selbst geschrieben habe), ist mir aufgefallen, dass der Shebang auf #!/bin/sh
gesetzt ist . Bei älteren Skripten überrascht mich das nicht wirklich, aber es ist auch bei ziemlich neuen Skripten vorhanden.
Gibt es einen Grund, /bin/sh
zu bevorzugen? über /bin/bash
, seit bash
auf vielen Linux- und BSD-Rechnern seit weit über einem Jahrzehnt so ziemlich allgegenwärtig und oft Standard ist?
Akzeptierte Antwort:
- Es gibt Systeme, die Bash nicht standardmäßig liefern (z. B. FreeBSD).
- Auch wenn bash installiert ist, befindet es sich möglicherweise nicht in
/bin
. - Die meisten einfachen Skripte benötigen keine Bash.
- Die Verwendung der POSIX-Shell ist portabler und die Skripte laufen auf einer größeren Vielfalt von Systemen.