Why so many shell in /bin Here is the ls output of my /bin directory:

[csh       ksh       zsh       bash      dash      tcsh      sh      ...]


Prior to catalina bash was the default and now zsh is default. What's the usage of others?
There are a lot of different shells available for Unix-like systems, and different users have different preferences. So on most Unix systems you'll find some of the most often used shells installed, to give users a choice in using whatever they prefer.

For more information about the differences between various shells see:


https://stackoverflow.com/questions/4317247/bash-vs-csh-vs-others-which-is-better-for-application-maintenance
https://stackoverflow.com/questions/199661/what-linux-shell-should-i-use
bash vs. zsh: What are the practical differences?


The default shell is just the shell newly created user accounts get assigned as a default shell. This can easily be changed by using chsh or changing the entry in the Users &amp; Groups preference pane. And it's worth nothing that the default shell of existing user accounts will not be changed during the upgrade to Catalina.