Why so many shell in /bin

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 & 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.


Apple and Unix tools self document themselves, so you can read the manual page of each to understand their role and place.

I recommend you start with the korn shell - be different!

man ksh 

I can’t speak for Apple, but the plurality of options helps software evolve and change since scripts based on previous tools can keep working when a change happens to the default or not hold back newcomers from solving a problem in a different way than an existing shell.