A Unix shell is a command-line interpreter or shell that provides a traditional user interface for the Unix operating system and for Unix-like systems. Users direct the operation of the computer by entering commands as text for a command line interpreter to execute or by creating text scripts of one or more such commands.
The most influential Unix shells have been the Bourne shell and the C shell. The Bourne shell, sh, was written by Stephen Bourne at AT&T as the original Unix command line interpreter; it introduced the basic features common to all the Unix shells, including piping, here documents, command substitution, variables, control structures for condition-testing and looping and filename wildcarding. The language, including the use of a reversed keyword to mark the end of a block, was influenced by ALGOL 68.
The C shell, csh, was written by Bill Joy while a graduate student at University of California, Berkeley. The language, including the control structures and the expression grammar, was modeled on C. The C shell also introduced a large number of features for interactive work, including the history and editing mechanisms, aliases, directory stacks, tilde notation, cdpath, job control and path hashing.
Users typically interact with a modern Unix shell using a terminal emulator. Common terminals include xterm and GNOME Terminal.
Both shells have been used as coding base and model for many derivative and work-alike shells with extended feature sets.
Read more about Unix Shell: Concept, Bourne Shell, C Shell, Configuration Files For Shells
Famous quotes containing the word shell:
“We want some coat woven of elastic steel, stout as the first, and limber as the second. We want a ship in these billows we inhabit. An angular, dogmatic house would be rent to chips and splinters, in this storm of many elements. No, it must be tight, and fit to the form of man, to live at all; as a shell is the architecture of a house founded on the sea.”
—Ralph Waldo Emerson (18031882)