Tools: what is a shell?
A shell is the user interface to the underlying operation system. It translates input from the user into operating system instructions and then sends any response from the operating system back to the user.
I am going to focus on UNIX style operating systems and character style user interfaces. This is where I have done the bulk of my work, but there are also graphical user interfaces (think Windows or MacOS) and many styles of operating systems. The job of the shell is similar in these variations, but the specifics are very different.
Bourne Shell, sh, 1979 C Shell, csh, 1981 Korn Shell, ksh Bourne Again Shell (Bash), bash, 1988 Zsh, zsh, 1990 Fish, fish, 2008