Bourne shell

From Academic Kids

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.

The Korn shell (ksh) written much later by David Korn, was a middle road between these two shells, with syntax chiefly drawn from the Bourne shell and job control features drawn from the C shell.

Bash, also known as the Bourne-Again shell, was later developed for the GNU project and takes features from the bourne shell, csh and ksh.

External links


Template:Major programming languages small

de:Bourne Shell

eo:sh fr:Bourne shell it:Bourne shell


Academic Kids Menu

  • Art and Cultures
    • Art (
    • Architecture (
    • Cultures (
    • Music (
    • Musical Instruments (
  • Biographies (
  • Clipart (
  • Geography (
    • Countries of the World (
    • Maps (
    • Flags (
    • Continents (
  • History (
    • Ancient Civilizations (
    • Industrial Revolution (
    • Middle Ages (
    • Prehistory (
    • Renaissance (
    • Timelines (
    • United States (
    • Wars (
    • World History (
  • Human Body (
  • Mathematics (
  • Reference (
  • Science (
    • Animals (
    • Aviation (
    • Dinosaurs (
    • Earth (
    • Inventions (
    • Physical Science (
    • Plants (
    • Scientists (
  • Social Studies (
    • Anthropology (
    • Economics (
    • Government (
    • Religion (
    • Holidays (
  • Space and Astronomy
    • Solar System (
    • Planets (
  • Sports (
  • Timelines (
  • Weather (
  • US States (


  • Home Page (
  • Contact Us (

  • Clip Art (
Personal tools