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?

  • See stackoverflow.com/questions/4317247/… and stackoverflow.com/questions/199661/… for discussions about shells and which to use. Apple switched because of licensing issues with Bash. – Graham Miln Jun 28 '19 at 8:16
  • Primary question was: "What's the usage of others?" I didn't install any of them. zsh is the default as it's still now in beta maybe that's why bash is still available. But why others? – user337117 Jun 28 '19 at 9:23
  • 1
    Different people have different preferences. It's the same reason why there are Microsoft Word, Pages and LibreOffice, or different models of cars, or ... – nohillside Jun 28 '19 at 9:35
  • See also apple.stackexchange.com/questions/361870 for an overview of differences between bash and zsh. Offering more than one shell addresses legacy concerns and provides choice. There is no single answer or reason. – Graham Miln Jun 28 '19 at 9:58
  • 1
    Different OS, different rules. Most unixoid systems come with a whole bunch of shells, to suite different preferences. You might as well wonder why macOS ships with nano and pico and vim and emacs and TextEdit.app. The answer is always the same :-) – nohillside Jun 28 '19 at 13:44

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:

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.

You must log in to answer this question.