Pernyataan dalam pertanyaan Anda salah. Solaris sampai versi 10 adalah menyediakan warisan sejati Bourne shell sebagai /bin/sh
. Ini dilakukan untuk tidak merusak kompatibilitas dengan skrip lama yang mungkin gagal dengan shell yang berbeda. Namun pilihan ini sangat membuat frustasi.
Kebanyakan jika tidak semua Unix dan Unix seperti rilis, termasuk Solaris 11, menyediakan shell yang kompatibel dengan /bin/sh
POSIX karena POSIX mengamanatkan sh
perintah untuk meluncurkan shell POSIX, bukan shell Bourne yang tidak sesuai. /bin/sh
umumnya:
ksh88
atau ksh93
pada implementasi Unix komersial
- dimodifikasi
bash
pada OS/X
(meskipun dulu zsh
)
- suatu
ash
atau pdksh
turunan dari yang lainBSDs
bash
atau dash
pada distribusi Gnu / Linux.
Ini tidak harus berupa tautan tetapi dapat menjadi nyata yang dapat dieksekusi pada banyak sistem selain Gnu / Linux.
Menariknya, terlepas dari apa yang menyatakan jawaban paling terunggulkan untuk pertanyaan Anda, itu bukan kurangnya fitur yang mendorong pengembang distribusi untuk menginstal sesuatu yang berbeda dari shell Bourne yang lama /bin/sh
tetapi keinginan untuk menjadi patuh POSIX mungkin, yaitu berperilaku seperti Unix suka OS. Fakta bahwa shell POSIX memiliki lebih banyak fitur daripada shell Bourne yang lama hanya merupakan efek samping dari tujuan kepatuhan standar ini.
Ini juga merupakan fakta beberapa shell, terutama bash
, berperilaku berbeda ketika dipanggil sh
, dan ini sebagian besar menghilangkan fitur dari shell, bukan sebaliknya.