Bourne Shell - Features of The Original Version

Features of The Original Version

Features of the UNIX Version 7 Bourne shell include:

  • Scripts can be invoked as commands by using their filename
  • May be used interactively or non-interactively
  • Allow both synchronous and asynchronous execution of commands
  • supports input and output redirection and pipelines
  • provides a set of built-in commands
  • provides flow control constructs, quotation facilities, and functions.
  • typeless variables
  • provides local and global variable scope
  • scripts do not require compilation before execution
  • does not have a goto facility, so code restructuring may be necessary
  • 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.
  • It contains strong provisions for controlling input and output and in its expression matching facilities.

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.

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 ~ esac" and "for ~ while ~ do ~ od" (using done instead of od) clauses in the common Unix Bourne shell syntax. Moreover – although the v7 shell is written in C – Bourne took advantage of some macros to give the C source code an ALGOL 68 flavor. These macros (along with the finger command distributed in Unix version 4.2BSD) inspired the IOCCC – International Obfuscated C Code Contest.

Read more about this topic:  Bourne Shell

Famous quotes containing the words features of, features, original and/or version:

    However much we may differ in the choice of the measures which should guide the administration of the government, there can be but little doubt in the minds of those who are really friendly to the republican features of our system that one of its most important securities consists in the separation of the legislative and executive powers at the same time that each is acknowledged to be supreme, in the will of the people constitutionally expressed.
    Andrew Jackson (1767–1845)

    “It looks as if
    Some pallid thing had squashed its features flat
    And its eyes shut with overeagerness
    To see what people found so interesting
    In one another, and had gone to sleep
    Of its own stupid lack of understanding,
    Or broken its white neck of mushroom stuff
    Short off, and died against the windowpane.”
    Robert Frost (1874–1963)

    He would cry out on life, that what it wants
    Is not its own love back in copy speech,
    But counter-love, original response.
    Robert Frost (1874–1963)

    I should think that an ordinary copy of the King James version would have been good enough for those Congressmen.
    Calvin Coolidge (1872–1933)