Recommendation - Zsh vs FishShell. Scripting, productivity and poweruser perse
if you can't find any comparison between zsh vs fish, then try them out yourself. That's the only way you can tell which one you prefer, nobody else can tell you that. Also, define the meaning of productivity. For me, its the abundance of modules and the language's internal capabilities. If you have started with Python, go for it. As for shells, you can learn less of it (not saying totally forget about it), with regards to maybe understanding your rc scripts and other system stuffs etc. Beyond that, Python can do what the shell does.
Historically there was a flame ware of sorts between the C shells (CSH and TCSH) and Bash. The complaint against the CSH variants are that they're bad for scripting.
In the years I've been a CLI junkie, I've never done any standalone scripts where the scripting language was picked because that's what my shell was.
I've written a variety of scripts that can broadly be divided into two categories:
- Those that help my command line productivity
- Those that are not directly related to my command line productivity.
Scripts in category 1. are almost always written in my shell scripting language (often as functions as I'm using ZSH and was previously using BASH both of which support functions).
Scripts in category 2. are written in whatever seems like the most efficient (both development time and running time taken into consideration). I often find myself writing small scripts in Perl, C (compiled, obviously), BASH/ZSH/SH or what ever else I want. I've done a little Python scripting (but not much), and even resort to Java on occasion (compiled-ish, again).
So what am I babbling about? Don't base you choice of shell on its standalone scripting capabilities. Choose your shell for it's utility to you as a shell. Script in whatever else you choose. You'll probably be good enough with BASH as your shell (though I like ZSH a bit more, **/* globbing is nice and a few other small things, but most scripts I've written for ZSH are early identical to their BASH counterparts).
I had the same question and found :
- page that compare Unix Shells: Bash, Fish, Ksh, Tcsh, Zsh ;
- Bash vs Zsh (vs Fish) a reddit thread ;
- What are the best Unix shells?