Unrelated but I'm wondering. Should I switch from bash to zsh, if so, why? It's taken me quite a while to get up to speed with bash, especially scripting. How steep is the learning curve?
I'll take this chance to shill for Fish. For interactive use it is a joy to use, with better defaults w.r.t. auto completion and history. Not much learning curve if most of the time you're just entering commands and pressing tab or arrow keys. I still use Posix Shell for scripts though, because it's installed everywhere.
I'm going to go against the grain a little and disagree with a lot of the comments.
My suggestion is to use the same environment in development that you use in production.
If you are running zsh on your servers then run zsh on your workstation.
I run a mix of Linux, FreeBSD, and OpenBSD servers in production; and have found that 99% of the time it didn't matter.
I had been using zsh on my workstation and about 25% of my server fleet. The others were either too old, didn't support it, or whatever.
Of those 75% of servers (over 500 boxes) a small handful encountered occasional problems when running my 'written on ZSH script'; that didn't happen when I re-wrote/tested the script on bash.
We are talking about ~4 errors over the course of a year-and-a-half or so.
It was more annoying then anything else; and nothing broke as a result of it. I just had to manually go do the work that my script was suppose to do.
Definitely switch to zsh for interactive use, the differences are minimal enough it will not take any effort to switch. Even forgetting everything else just the superior tab complete is enough to make it worthwhile. Still use bash for scripts they will be more portable.