Bash

Zsh

Fish

Резюме

Bash - хорошая оболочка по-умолчанию, ну и стандарт для скриптов. Рекоммендую использовать в скриптах или по дефолту на серверах, на которых проводите мало времени.

Fish - крутая настройка из коробки, но не совместима с posix и требует специфичных знаний для доп настроек. Удобно поставить например на сервер, на котором часто работаете, если не требуется какая-то особая доп конфигурация командной оболочки. В противном случае проще использовать стандартный бэш без заморочек.

Zsh - золотая середина. Posix совместим и имеет множество решений для простой настройки всего самого нужного. При этом его удобней при необходимости донастроить руками, в отличие от fish. На сервер я бы ставить не стал. Сейчас использую как основную оболочки на макоси.