A shell is software that lets users interact with the operating system, usually by typing at a command-line.

Shells are used to interact with the Operating System (OS) and launch other applications.

Shells also have built-in commands, depending on the OS. Examples are directory listings, moving and copying files (Windows) or job control (Unix-like).

Most shells offer scripting capabilities, starting with simple sequential execution of commands. For more complex problems, control structures (like conditionals or loops) can be used.

Broadly used shell include:

  1. Windows:
  2. Unix-like:
    • Bourne Shell
    • Bourne Again Shell
    • Korn Shell
    • (Tenex) C Shell /
    • Z Shell
    • Friendly Interactive Shell

See Comparison of command shells on Wikipedia for a more extensive list.