What are the different types of shells we have in Unix ?

A unix shell is a interface provided by the operating system to the user to use its functionality. Shell is just a program/application which gets invoked when a user logs into the system and will keep on running at the background till you logout.
In Unix, there are various kind of shells available for you to choose from.
Bash(bash) - Most popular one and the default shell.C Shell(sh) - It had two adantage over Bash in the past, one that you could have used "alias" for commands and secondly you can see command history. Anyway now Bash has both features.Korn Shell(ksh) - It was designed by david korn and is supposed to be superset of Bash. It has lot's of additional functionality over Bash.