An Overview of Shells
A shell is a fundamental and important part of your Linux computing environment. Shells are user programs not unlike other text-based programs and utilities. They offer a rich, customizable interface to your system. Some of the main items provided by your shell are:
- An interactive textual user interface to the operating system
In this role, the shell is a command interpreter and display portal to the system. It offers you a communications channel to the kernel and is often thought of as the “shell around the kernel.” That’s where the name shell originates and is a good metaphor for conceptualizing how shells fit into the overall Linux picture.
- An operating environment
Shells set up an environment for the execution of other programs, which affects the way some of them behave. This environment consists of any number of environment variables, each of which describes one particular environment property by defining a
name=valuepair. Other features such as aliases enhance your operating environment by offering shorthand notations for commonly used commands.
- A facility for launching and managing commands and programs
Shells are used not only by users but also by the system to launch programs and support those programs with an operating environment.
- A programming language
Shells offer their own programming languages. At its simplest, this feature allows user commands to be assembled into useful sequences. At the other end of the spectrum, complete programs can be written ...