Заява у вашому запитанні невірна. Solaris до версії 10 є забезпечення успадкованої істинної оболонки Bourne як /bin/sh
. Це було зроблено, щоб не порушувати сумісність зі старими сценаріями, які можуть вийти з ладу з іншою оболонкою. Інакше цей вибір був дуже розчаровуючий.
Більшість, якщо не всі залишилися випуски Unix та Unix, включаючи Solaris 11, надають оболонку, сумісну з POSIX, /bin/sh
оскільки POSIX надає sh
команду для запуску оболонки POSIX, а не застарілу оболонку Bourne, яка не сумісна. /bin/sh
як правило:
ksh88
або ksh93
про комерційні реалізації Unix
- змінені
bash
на OS/X
(хоча це було zsh
)
ash
або pdksh
похідні від одногоBSDs
bash
або dash
на дистрибутивах Gnu / Linux.
Це не обов'язково посилання, але може бути справжнім виконуваним файлом у багатьох системах, окрім Gnu / Linuxes.
Цікаво, що, незважаючи на те, що зазначено найбільш схвалену відповідь на ваше запитання, це не той факт, що розробники дистрибуторів не призводять до того, щоб встановити щось інше, ніж застаріла оболонка Bourne, /bin/sh
а бажання бути максимально сумісним з POSIX, тобто вести себе як Unix, як ОС. Той факт, що оболонка POSIX має більше можливостей, ніж застаріла оболонка Bourne, є лише побічним ефектом цієї стандартної мети дотримання.
Факт також, що деякі снаряди, зокрема bash
, поводяться по-різному, коли викликаються sh
, і це здебільшого видаляє функції з оболонки, а не навпаки.