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:
“I was even more surprised at the power of the waves, exhibited on this shattered fragment, than I had been at the sight of the smaller fragments before. The largest timbers and iron braces were broken superfluously, and I saw that no material could withstand the power of the waves; that iron must go to pieces in such a case, and an iron vessel would be cracked up like an egg- shell on the rocks.”
—Henry David Thoreau (18171862)