Die Aussage in Ihrer Frage ist falsch. Solaris bis zu Version 10 ist das Erbe wahr Bourne - Shell wie die Bereitstellung /bin/sh. Dies wurde getan, um die Kompatibilität mit alten Skripten, die mit einer anderen Shell fehlschlagen könnten, nicht zu beeinträchtigen. Diese Wahl war jedoch ansonsten sehr frustrierend.
Die meisten, wenn nicht alle verbleibenden Unix- und Unix-ähnlichen Releases, einschließlich Solaris 11, bieten eine POSIX-kompatible Shell, /bin/shda POSIX den shBefehl zum Starten einer POSIX-Shell fordert, nicht die nicht kompatible ältere Bourne-Shell. /bin/shist allgemein :
ksh88oder ksh93auf den kommerziellen Unix-Implementierungen
- eine modifizierte
basham OS/X(obwohl es früher war zsh)
- ein
ashoder pdkshDerivat auf andereBSDs
bashoder dashauf Gnu / Linux-Distributionen.
Es ist nicht unbedingt eine Verknüpfung, sondern kann auf vielen Systemen, aber unter Gnu / Linux, eine echte ausführbare Datei sein.
Interessanterweise ist es nicht der Mangel an Funktionen, der Distributionsentwickler dazu veranlasst, etwas anderes als die alte Bourne-Shell zu installieren, /bin/shsondern der Wunsch, so POSIX-konform wie möglich zu sein, dh sich wie eine zu verhalten Unix wie OS. Die Tatsache, dass die POSIX-Shell mehr Funktionen bietet als die herkömmliche Bourne-Shell, ist nur ein Nebeneffekt dieses Standard-Compliance-Ziels.
Es ist auch eine Tatsache, dass sich einige Shells, insbesondere bashwenn sie aufgerufen werden sh, anders verhalten . Dadurch werden hauptsächlich Features aus der Shell entfernt, nicht umgekehrt.