Vom Unterschied zwischen Bash und Sh :
AB zur Frage: Wenn Sie
/bin/sh
einen Link zu bash haben, verhält sich bash beim Aufruf nicht so/bin/sh
wie beim Aufruf als/bin/bash
. Wenn es als aufgerufensh
wird, beschränkt es sich hauptsächlich auf POSIX-Konformität sowie eine begrenzte Anzahl von Erweiterungen.
Bedeutet das, dass jedes Mal, wenn ich unter Linux auf ein Shell-Skript mit einem Shebang to Sh stoße: #!/bin/sh
Auch wenn es sich bei dieser Distribution bin/sh
um einen Symlink zu einer anderen Shell wie Dash oder Bash handelt, diese zu 100% mit der Bourne-Shell kompatibel sein sollte, da es beschränkt sich auf eine begrenzte Anzahl von Erweiterungen? Also könnte ich sie in FreeBSD ausführen? Gibt es eine Ausnahme? Oder sollte ich sicher sein, dass es funktionieren wird?
Wenn also in einer Distribution bin/sh
ein Symlink zu bin/bash
und ein Skript verwendet wird #!/bin/sh
und das Skript Bashismus enthält, wird es nicht ausgeführt, da Bash gerne im Sh-Modus ist?