I have been a bash user for years now. However, I find that zsh is increasingly gaining momentum. I came up with the following questions:Is zsh really becoming that popular? Will it compete with bash on becoming the standard shell sometime?Is it time to start writing zsh scripts instead of bash ones?Is it really worth to switch from bash to zsh?What is the best tutorial/starter guide to consult for zsh?
zsh: Is it worth the switch from bash? Is it the time?
linux;bash;shell;zsh
This is a grey question. Some of it is definable, but a lot of it is opinion.In a nutshell, I think zsh is a good shell for personal use (as an interactive shell), but not for system scripts.I don't think zsh will ever replace bash. Not because it's inferior, but because each shell aims for different goals. Bash is more geared towards standards and compatibility, while zsh is geared more towards power.As for whether you write scripts in one or the other, I would not write scripts in zsh unless these scripts are for your own personal use. Zsh is not installed on many systems by default. Bash is.Advantages of one over the other is an extremely opinionated answer. Other than the fore-mentioned points (compatibility vs power), there are a few nice things about zsh. Zsh does support compiling scripts into bytecode. How much of a performance gain this is, I do not know. But it could be fairly significant as shell scripting is a very loose language and I'd imagine parsing it is very difficult. Though for there to be any noticeable difference the script would probably have to be several hundred kb. But this is all just a wild guess.Going back to the power aspect, zsh also offers a LOT more shell built-ins and variable manipulation features. Seriously, zsh's variable manipulation capability is insane.Whether it's worth the switch, this is up to you. I personally switched because I was bumping against the limits of what bash could do.Bash will always be a relevant shell, and it does offer a lot of power. I wouldn't switch until you've gotten to the point that you know how to take advantage of all the features that bash has to offer, and know exactly what it can and can't do.