What is a shell?
A Unix shell is both:
- a command interpreter, which provides the user interface to the rich set of Unix utilities and
- a programming language
The shell waits for synchronous commands to complete before accepting more input; asynchronous commands continue to execute in parallel with the shell while it reads and executes additional commands