Dlouho jsem používal Bash, byla to prostě první volba. Nebo spíš jsem nemusel řešit volbu, Bash byl hned po instalaci Debianu/Archu/Gentoo(?)/Ubuntu po ruce.
Nicméně před několika měsíci jsem viděl pár cool fíčurek, které jsem chtěl taky, u kamaráda. Nainstaloval jsem si tedy ZSH a jsem s ním celkem spokojen. Po pár měsících bych nechtěl Bash zpátky. Kdykoli se dostanu k Bashi, je to pro mě krok zpět.
Instalace ZSH sice nebyla jen o apt-get install zsh, ale zas tak moc těžké to nebylo. Prošel jsem po prvním spuštění interaktivní konfiguraci (fajn věc, díky tomu jsem objevil pár fíčurek, které bych jinak nejspíš vůbec neznal). Potom jsem něco trošku nastavil, snad nefungovalo správně ctrl+šipka, vygooglil jsem k tomu tak dva řádky a funguje.
Potom příšly na řadu customizace Bashe/ZSH. Svého času jsem si potunil bash, ale v zásadě většinu tuningu může .bashrc a .zshrc sdílet. Místo undistract-me používám notifyosd.zsh. Přepsal jsem si při té příležitosti svoji definici promptu, ale nově toho ten prompt umí víc.
ZSH má mnohem lepší autocomplete, i když je to možná z části záležitost podpůrných skriptů. Třeba u git add mi to nabízí pouze relevantní (nové a změněné) soubory a ne všechny soubory. Lze nastavit chytré napovídání, napčíklad /v//ke mi rozbalí na /var/log/kern.log. Alias fungují lépe než v Bashi. Tam mi, co si pamatuju, tročku rozbíjely autocomplete. ZSH si zřejmě nejdřív rozbalí alias a potom nad tím řeší autocomplete, což dává lepší výsledky.
Komunita kolem ZSH vypadá, že je relativně velká. Na Oh-my-zsh se toho dá najít spousta.
Možná byla hlavním důvodem pro zařazení ZSH místo Bashe do Mac OS X licence, ale věřím, že ne jediným. Naučit se s ZSH je pro Bashistu celkem zdarma, základní věci prostě bude umět z Bashe. Pro toho, kdo si potunil Bash, to bude o něco málo více práce, ale výsledek nejspíš ocení o to víc.