Shell is a command interpreter which means it interpret user commands
or program from standard input to kernel and give output of processed
user command or program to standard output (console or file). Linux
Shell itself is a more powerful program as it mostly support C type
constructs like conditional execution, loops, variables, functions and
Linux support many Opensource and Unix shells but by default it support below shells in mostly Linux distros:
Linux users use sh Shell and Bash shell. The sh shell or the Bourne
Shell was the original shell in Unix which is derived to Linux. It was
developed by AT&T Bell Labs in 1977 for Unix Operating systems.
most widely used shell in various Linux distros is Bash shell which is
known as Born again Shell this shell is default shell of Linux Operating
systems. It was developed by Brian Fox in 1989.
You can check what your Linux Operating system support valid login Shells with below command:
I suggest to refer below blog to know more more about Linux supported shells and their features: