A shell is software that provides an interface for users of an operating system which provides access to the services of a kernel. — Wikipedia
I share the note of shell training here. In the training, we’ve used Bash for the most of the time.
I picked up two images from Internet, it describes how does shell works.
There are two families of shell:
1. Bourne shell(sh) 1978, Korn shell (ksh) 1983, Bourne again shell (bash) 1989, Z shell (zsh)
2. C shell (csh), Turbo C shell (tcsh) (Tenex Tops shell/Toronto shell)
Prompt(after that we type our commands):
Function of a shell