Others swear by fish and how it revolutionised their terminal. Hell,I've seen people fall in love with Powershell of all shells because of its interactivity and cross platform scripting language that doesn't rely on Unix tools being present in $PATH. I don't get it, but that's okay; they can have their preferences and I can have mine.
You've got to find what works for you. Nano, emacs, .*vim, vi, using a magnetic needle to manually flip bits on a spinning platter, it doesn't matter, whatever keeps you happy and/or productive.
The vast majority of Linux users seem to use bash. Zsh has been picked up more and more by Apple for licensing and the "threat" of open source. I don't think shells like fish are a threat to the ecosystem as long as they keep the most basic form of compatibility with bash (not sh). You need bash installed anyway, otherwise you can't curl2bash to install "modern" Linux software!
Sure, it is not the same as your home machine - but even with the right shell, you customized config files woukd still be missing. So it is easier to get used to defaukt setup on defaut shell when managing many machines.
(This is the reason I had to learn vi back in the day: sure, my machine has lovingly customized emacs.. But that old Sun one needs to debug? Vi only.)
If you all log in to the same account, you'll need to pick some standard. It doesn't really matter if the system decides on that standard or if you just ask the team what they prefer and pick the most popular shell. When in doubt, install all shells, log in to sh and let people start their shell of choice.
nobody cares about user accounts. use whatever you want on your laptop, nobody cares.
however if a script reaches a production server, it should either be sh, bash, or a real programming language (python/ruby/perl/whatever).
the ugly stuff i've seen is that some snowflake user drops their scripts written in ${shell_of_the_week} and leaves, the script breaks and now i have there's this thing that has to be not only fixed, but possibly rewritten from scratch.
The "one off" script from two years ago that you really, really need right now probably won't work. Perl/bash are less likely to hit this (they stopped changing years ago). It's an open question whether golang will have this problem.
If you operate your own data centers, then you need to do configuration management of the machines, so their configurations are immutable/reproducible.
(These problems all arise once you have a large fleet and a large ops team.)
Shells are just REPLs; use your editor to drive them. This helps document what exactly was done on a machine, and encourages code re-use (yank-put from last time) and other tidbits you get when editing (git repos, git search, etc.).
I still don't use it on Linux but I do think it's a big step forward for scripting.
For example:
$ w --libxo json|json_pp
{
"uptime-information" : {
"days" : 46,
"hours" : 22,
"load-average-1" : 0.19,
"load-average-15" : 0.13,
"load-average-5" : 0.12,
"minutes" : 11,
"seconds" : 34,
[...]
Obviously it's not as extensive as PowerShell, but it definitely gets rid of screen-scraping.[0] https://www.freebsd.org/cgi/man.cgi?query=libxo&sektion=3&fo...
custom PATH for your own programs
options to programs like LESS
The deal breaker for be with fish is abandoning decades of bash syntax. With zsh, I can have my fancy, productive prompt and still write bash-compatible sheets scripts.