FACTOID # 39: The eight most developed countries all speak Germanic languages.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

FACTS & STATISTICS    Simple view

  1. Select countries to view: (hold down Control key and click to select several)

     

     

    Compare:

     

     

  1. Select fact or statistic: (* = graphable)

     

     

     

  2. (OPTIONAL) Compare to statistic: (both need to be graphable)

     

     

     

  3. View result as:

     

       
(OR) SEARCH ALL encyclopedia, stats & forums:   

Encyclopedia > Bourne Shell

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 was 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, and is still the default shell for the root superuser on many current Unix implementations. Screenshot of a sample Bash session, taken on Gentoo Linux. ... Seventh Edition Unix, also called Version 7 Unix, Version 7 or just V7, was an important early release of the Unix operating system. ... The Thompson shell was the first Unix shell, introduced in the first version of Unix in 1971, and was written by Ken Thompson. ... Steve Bourne is a computer scientist, most famous as the author of the Bourne shell (sh), which remains the standard command line interface to Unix. ... AT&T Inc. ... Bell Telephone Laboratories or Bell Labs was originally the research and development arm of the United States Bell System, and was the premier corporate facility of its type, developing a range of revolutionary technologies from telephone switches to specialized coverings for telephone cables, to the transistor. ... Seventh Edition Unix, also called Version 7 Unix, Version 7 or just V7, was an important early release of the Unix operating system. ... An executable or executable file, in computer science, is a file whose contents are meant to be interpreted as a program by a computer. ... Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIX®) is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ... On many computer operating systems, superuser, or root, is the term used for the special user account that is controlled by the system administrator. ...

Contents

Origins

The shell was designed as a replacement for the original Thompson shell. The Thompson shell was the first Unix shell, introduced in the first version of Unix in 1971, and was written by Ken Thompson. ...


Among the primary goals were:

  • To allow shell scripts to be used as filters.
  • To provide programmability including control flow and variables.
  • Control over all input/output file descriptors.
  • Control over signal handling within scripts.
  • No limits on string lengths when interpreting shell scripts.
  • Rationalize and generalize string quoting mechanism.
  • The environment mechanism was added to V7. This allowed context to be established at startup and provided a way for shell scripts to pass context to sub scripts (processes) without having to use explicit positional parameters.

Notable features

Although it is used as an interactive command interpreter, it was always intended as a scripting language. It gained popularity 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. Scripting programming languages (commonly called scripting languages or script languages) are computer programming languages designed for scripting the operation of a computer. ... Written by Brian W. Kernighan and Rob Pike, both of Bell Labs, it is the first ever book on the Unix operating system. ... Brian Kernighan¹ (born 1942) is a computer scientist who worked at the Bell Labs and contributed to the design of the pioneering AWK and AMPL programming languages. ... Rob Pike (born 1956) is a software engineer and author. ...


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. The term file descriptor is generally used in POSIX operating systems. ... This page is a candidate for speedy deletion. ...


Other innovations in this shell included:

  • Command substitution using back quotes: `command`.
  • Here documents using << to embed a block of input text within a script.
  • "for ~ do ~ done" loops, in particular the use of $* to loop over arguments.
  • "case ~ in ~ esac" selection mechanism, primarily intended to assist argument parsing.
  • sh provided support for environment variables using keyword parameters and exportable variables.

Over the years, the Bourne shell was enhanced at AT&T. The various variants are thus called like the respective AT&T Unix version it was released with (some important variants being Version7, SystemIII, SVR2, SVR3, SVR4). As the shell was never versioned, the only way to identify it was testing its features. A here document (also called a here-document or a heredoc), is a way of quoting multiple lines of texts in shells such as Bash and the Bourne Shell, as well as programming languages such as Perl, PHP, and Ruby. ...


Stephen Bourne carried into this shell some aspects of the ALGOL 68C compiler that he had been working on at Cambridge University. Notably he reused portions of ALGOL 68's "if ~ then ~ elif ~ else ~ fi", "case ~ in ~ out ~ esac" and "for ~ while ~ do ~ od" clauses in the common Unix Bourne shell syntax. Moreover - although the v7 shell is written in C - Bourne took advantage of some macros[1] to give the C source code an ALGOL 68 flavor. These macros co-inspired the IOCCC - International Obfuscated C Code Contest (Co-inspired with the finger command as distributed in Unix version 4.2BSD)[2]. The ALGOL68C computer programming language compiler was developed for the CHAOS OS for the CAP capability computer at Cambridge University in 1971 by Stephen Bourne and Mike Guy as a dialect of ALGOL 68. ... The University of Cambridge (often Cambridge University), located in Cambridge, England, is the second-oldest university in the English-speaking world and has a reputation as one of the worlds most prestigious universities. ... ALGOL 68 (short for ALGOrithmic Language 1968) is an imperative computer programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and a more rigorously defined syntax and semantics. ... Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIX®) is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ... C is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ... A macro in computer science is an abstraction, that defines how a certain input pattern is replaced by an output pattern according to a defined set of rules. ... Source code (commonly just source or code) is any series of statements written in some human-readable computer programming language. ... The International Obfuscated C Code Contest (abbr. ... C is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ... In computer networking, the Name/Finger protocol and the Finger user information protocol are simple network protocols for the exchange of human-oriented status and user information. ... BSD redirects here; for other uses see BSD (disambiguation). ...


Descendants

The C shell (csh), derived not from the Bourne shell but the Thompson shell, 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. Job control functionality was eventually incorporated into later versions of the Bourne shell, as well as most of its descendants. The C shell (csh) is a Unix shell developed by Bill Joy for the BSD Unix system. ... The Thompson shell was the first Unix shell, introduced in the first version of Unix in 1971, and was written by Ken Thompson. ... On operating systems that support executing multiple processes in parallel or in series (batch processing), job control refers to the orchestration of multiple batch jobs. ... BSD redirects here; for other uses see BSD (disambiguation). ... C is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ...


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. The functionality of the original Korn Shell (known as ksh88 from the year of its introduction) was used as a basis for the POSIX shell standard; a newer version, ksh93, has been open source since 2000 and is used on some Linux distributions; there is also a clone of ksh88 known as pdksh. Korn shell logo. ... David Korn is a computer programmer, who is probably best known for creating the Korn shell, a command line shell interface/programming language for UNIX-like systems. ... POSIX or Portable Operating System Interface[1] is the collective name of a family of related standards specified by the IEEE to define the application programming interface (API) for software compatible with variants of the Unix operating system. ... Korn shell logo. ...


rc was created at Bell Labs by Tom Duff as a replacement for sh for Version 10 Unix. It is the default shell for Plan 9 from Bell Labs and Inferno. It has been ported to UNIX as part of Plan 9 from User Space. The correct title of this article is . ... Bell Laboratories (also known as Bell Labs and formerly known as AT&T Bell Laboratories and Bell Telephone Laboratories) was the main research and development arm of the United States Bell System. ... Thomas Douglas Selkirk Duff (b. ... Tenth Edition Unix, also known as Version 10 Unix or V10, was the last version of the Research Unix operating system developed and used internally at Bell Labs. ... Plan 9 from Bell Labs is a distributed operating system, primarily used as a research vehicle. ... Inferno is an operating system for creating and supporting distributed services. ... Plan 9 from User Space (aka plan9port) is a port of many Plan 9 libraries and applications to Unix-like operating systems. ...


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. This article is about the Unix shell. ... GNU (pronounced ) is a computer operating system composed entirely of free software. ...


Due to copyright issues surrounding the Bourne Shell as it was used in BSD releases, Kenneth Almquist developed a clone of the Bourne Shell, known as the Almquist Shell and available under the BSD license, which is in use today on some BSD descendants and in low-memory situations. The Almquist Shell was ported to Linux, and the port renamed the Debian Almquist shell, or dash. This shell provides much faster execution of standard sh scripts with a smaller memory footprint than its more common counterpart, bash. Unfortunately its use tends to expose bashisms - bash-centric assumptions made in scripts meant to run on sh. The Almquist shell (ash) is Kenneth Almquists clone of the Bourne shell. ... The BSD license is a permissive license and is one of the most widely used free software licenses. ... Debian Almquist shell (dash) is a POSIX-compliant Unix shell, much smaller than bash. ... This article is about the Unix shell. ...


Usage

The Bourne shell is now standard on all current branded Unix systems, although historically BSD based systems had many scripts written in csh. Bourne shell scripts can typically be run with bash or dash on Linux or other Unix-like systems. Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIX®) is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ... BSD redirects here; for other uses see BSD (disambiguation). ... The C shell (csh) is a Unix shell developed by Bill Joy for the BSD Unix system. ... This article is about the Unix shell. ... Debian Almquist shell (dash) is a POSIX-compliant Unix shell, much smaller than bash. ... Linux (IPA pronunciation: ) is a Unix-like computer operating system. ... Diagram of the relationships between several Unix-like systems A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification. ...


After Sun released their OpenSolaris variant of the Bourne shell as Open Source, a port of this shell for free Unix flavours (geared for legacy portability and historic interest) has been made available by the Heirloom project. The Solaris/SVR4 version of the Bourne Shell does not have the same ALGOL68ized source code as the original. OpenSolaris is an open source project created by Sun Microsystems to build a developer community around the Solaris Operating System technology. ... Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ... ALGOL 68 (short for ALGOrithmic Language 1968) is an imperative computer programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and a more rigorously defined syntax and semantics. ...


See also

A shell is a computer program which interacts with the userland and subsequently the kernel of an operating system. ... This article is about the Unix shell. ... The correct title of this article is . ...

References

  1. ^ Bourne, Steve (1979-01-12). mac.h - Macros used by Bourne to structure C like Algol68C. AT&T. Retrieved on September 9, 2006.
  2. ^ Landon Curt Noll, Simon Cooper, Peter Seebach and Leonid A. Broukhis (2004). The IOCCC FAQ - Q/A: How did the IOCCC get started?. www.ioccc.org. Retrieved on September 9, 2006.

Steve Bourne is a computer scientist, most famous as the author of the Bourne shell (sh), which remains the standard command line interface to Unix. ... Also: 1979 by Smashing Pumpkins. ... January 12 is the 12th day of the year in the Gregorian calendar. ... AT&T Inc. ... is the 252nd day of the year (253rd in leap years) in the Gregorian calendar. ... Landon Curt Noll is the discoverer of two Mersenne primes. ... shelby was here 2004 (MMIV) was a leap year starting on Thursday of the Gregorian calendar. ... is the 252nd day of the year (253rd in leap years) in the Gregorian calendar. ...

External links

Wikibooks
Wikibooks has more about this subject:

  Results from FactBites:
 
The Heirloom Bourne Shell (423 words)
The Heirloom Bourne Shell is a portable variant of the traditional Unix shell.
Although the Bourne shell is not POSIX-conforming because the POSIX.2 standard introduced requirements for the shell that were incompatible with existing Bourne shell behavior, it remains the father of all Unix shell scripting languages.
The Bourne shell does not provide as many features as newer Unix shells, but it is nevertheless a highly usable scripting language.
Bourne shell - Wikipedia, the free encyclopedia (924 words)
The C shell (csh) was derived not from the Bourne shell but the Thompson shell, was distributed with 4.1BSD, and took advantage of job control features of the BSD kernel.
The functionality of the original Korn Shell (known as ksh88 from the year of its introduction) was used as a basis for the POSIX shell standard; a newer version, ksh93, has been open source since 2000 and is used on some Linux distributions; there is also a clone of ksh88 known as pdksh.
Due to copyright issues surrounding the Bourne Shell as it was used in BSD releases, Kenneth Almquist developed a clone of the Bourne Shell, known as the Almquist Shell and available under the BSD license, which is in use today on some BSD descendants and in low-memory situations.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.