The table below shows major differences between the standard shell (sh), Bourne Again SHell (bash), Korn shell (ksh) and the C shell (csh).
Since the Bourne Again SHell is a superset of sh, all sh commands
will also work in bash - but not vice versa. bash has many more features of its
own, and, as the table below demonstrates, many features incorporated from
other shells. Since the Turbo C shell is a superset of csh, all csh commands
will work in tcsh, but not the other way round.