Bourne Shell ( ш назад в день) від AT & T гілки Unix була поліпшена і витіснені в Korn Shell, KSH . ksh також вийшов з AT&T Bell Labs і не був GPL (поточна версія - публічна ліцензія Eclipse). C-shell, csh вийшов із Берклі версії Unix і також не був GPL (ліцензія BSD), а також використовував інший синтаксис, ніж sh. Z-оболонка, zsh - це поліпшення щодо sh, але не GPL (ліцензія, схожа на MIT). Bash був поліпшенням щодо sh, використовував GPL та GNU. Тільки за ліцензією Bash, мабуть, був би вибором для операційної системи GPL. Зокрема, оболонка є основною частиною дистрибутива.
Але Bash також був проектом GNU, даючи йому, я думаю, активніший розвиток та робити внески легше, ніж спадковий продукт Berkeley Unix або AT&T Unix. Можна зробити дуже хороший випадок, коли zsh є і є кращою оболонкою, ніж Bash, але цього недостатньо, щоб подолати різні ліцензії та статус проекту, що не стосується GNU.
Коли ще вперше з'являлися дистрибутиви Linux і вибирали оболонку за замовчуванням (на початку до середини 90-х), не було ні github (2008), ні навіть SourceForge (1999). У цей момент я думаю, що проекти GNU мали реальну перевагу перед проектами, які не є GNU, у тому, щоб помітити та малювати та включати нових розробників. Тож дистрибутив може виглядати на Z-оболонці як краще, але також очікувати, що Bash буде отримувати хорошу підтримку та обслуговування вперед, а також додасть до нього більше функцій, що дозволить йому наздогнати zsh.
Тепер, коли Баш мав роки за замовчуванням, це стало стандартом дефакто, про нього написані книги. Є одна книга, яка охоплює як Bash, так і Z-shell , але немає жодної книги, яка охоплює її виключно, тоді як є декілька, які роблять це для Bash.
І в цей момент, якщо distros повинен змінити типовий для оновлення існуючої системи, це порушить установки, оскільки деякі файли ініціалізації мають різні імена (наприклад, .bashrc проти .zshrc), а вміст файлів може мати несумісний синтаксис. Таким чином, вони будуть дуже неохоче робити це, залишаючи нові завантаження мати zsh в якості за замовчуванням, а оновлення - bash. Два різних за замовчуванням одного і того ж дистрибутива - це те, що вони, мабуть, не хочуть підтримувати, і користувачі / компанії також не хочуть мати справу.
ksh
, то це також правда, що більшість людей використовують іншу оболонку, і це саме по собі пояснило б, чомуksh
це не оболонка за замовчуванням. Однак я не думаю, що це причина, давайте чекатимемо вбивчої відповіді, що впевнений, що це питання отримає.