История изменений
Исправление CrX, (текущая версия) :
Bash — самый распространённый, по историческим причинам.
Zsh — совместим с Bash, по сути то же самое, но чуть-чуть более фичастый и гибкий.
Fish — NIH-оболочка для тех, кто не осилил Bash и Zsh. Имеет несколько более приятный, но ни с чем не совместимый, а от того не нужный синтаксис.
Скрипты лучше писать на POSIX Shell. Тогда неважно, чем их будет запускать юзер: bash, zsh, dash или busybox’овским встроенным. Это несложно на самом деле.
В интерактиве юзать — Bash или Zsh по вкусу. Zsh объективно технически фичастее, но Bash популярнее, поэтому если прыгать с сервера на сервер туда-сюда, то кому-то удобнее использовать более «стандартное». При правильной настройке под свои нужды отличия для большинства юзеров минимальные. Хотя есть некоторые приятные фичи, которых в случае привыкания потом не хватает в Bash и без костылей не настроить.
Fish можно юзать, если очень хочется быть «не таким как все», или если очень сильно воротит от синтаксиса POSIX Shell вместе с Bash и Zsh.
// сам юзаю zsh, но какая, в принципе тебе разница: попробуй сам да выбери.
P.S. Переходит «с/на» и «между» Bash и Zsh очень легко в целом. Можно использовать и то и другое. В том числе zsh на десктопе и bash на серверах (если лень или почему-то нет возможности поставить zsh, хотя часто он таки есть по умолчанию). Синтаксис там по сути одинаковый (для чего разный — особо продвинутые фичи, и их можно просто не юзать там, где их нет, это никакого дискомфорта не доставляет). Различия больше в интерактиве.
Ну и люблю я zshell’овский сокращённый for
юзать. Не в скриптах, конечно, но очень удобно. Стандартный «башевский», естественно тоже работает.
Исходная версия CrX, :
Bash — самый распространённый, по историческим причинам.
Zsh — совместим с Bash, по сути то же самое, но чуть-чуть более фичастый и гибкий.
Fish — NIH-оболочка для тех, кто не осилил Bash и Zsh. Имеет несколько более приятный, но ни с чем не совместимый, а от того не нужный синтаксис.
Скрипты лучше писать на POSIX Shell. Тогда неважно, чем их будет запускать юзер: bash, zsh, dash или busybox’овским встроенным. Это несложно на самом деле.
В интерактиве юзать — Bash или Zsh по вкусу. Zsh объективно технически фичастее, но Bash популярнее, поэтому если прыгать с сервера на сервер туда-сюда, то кому-то удобнее использовать более «стандартное». При правильной настройке под свои нужды отличия для большинства юзеров минимальные. Хотя есть некоторые приятные фичи, которых в случае привыкания потом не хватает в Bash и без костылей не настроить.
Fish можно юзать, если очень хочется быть «не таким как все», или если очень сильно воротит от синтаксиса POSIX Shell вместе с Bash и Zsh.
// сам юзаю zsh, но какая, в принципе тебе разница: попробуй сам да выбери