Science Fair Project Encyclopedia
The Bourne shell, or sh, was the default Unix shell of Unix Version 7, and replaced the Thompson shell, whose executable file had the same name, sh. It was developed by Stephen Bourne, of AT&T Bell Laboratories, and first released in 1977 in the Version 7 UNIX release distributed to colleges and universities. It remains a popular default shell for Unix accounts. The binary program of the Bourne shell or a compatible program is located at /bin/sh on most Unix systems.
Among the main goals of the Bourne shell was to take advantage of two key features of Version 7 kernel:
- the much larger parameter (argument) lists, previously limited to 127 bytes and limited to 8192 bytes in Version 7.
- environment variables. These were a new feature of Version 7 and allowed a good deal of ancillary information to be passed to programs upon startup.
The Bourne shell also was the first to feature the convention of using file descriptor 2 for error messages, allowing much greater programmatic control during scripting by keeping error messages separate from data.
Though primarily intended as an interactive command interpreter, it gained popularity as a scripting language with the publication of The UNIX Programming Environment by Brian W. Kernighan and Rob Pike. This was the first commercially published book that presented the shell as a programming language in a tutorial form.
The C shell (csh) was distributed with 4.1BSD, and took advantage of job control features of the BSD kernel. Job control is the ability to stop a program interactively and then restart it later. It was for this reason that the C shell gained popularity as a command interpreter. The C shell used a more "C like" syntax for its programming features that was incompatible with the Bourne shell and purportedly an improvement. It never caught on, and many BSD users utilized the Bourne shell for programming tasks and the C shell as their command interpreter.
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details