login

UNIX Time-Sharing System: The UNIX Shell

Bell System Technical JournalPublished 8 July 1978
S. R. Bourne
Citations104

TL;DR

The UNIX∗ shell is a command programming language that provides an interface to the UNIX operating system that contains several mechanisms found in algorithmic languages such as control-flow primitives, variables, and parameter passing.

Abstract

The UNIX∗ shell is a command programming language that provides an interface to the UNIX operating system. It contains several mechanisms found in algorithmic languages such as control-flow primitives, variables, and parameter passing. Constructs such as while, if, for, and case are available. Two-way communication is possible between the shell and commands. String-valued parameters, typically file names or flags, may be passed to a command. A return code is set by commands and may be used to determine the flow of control, and the standard output from a command may be used as input to the shell. The shell can modify the environment in which commands run. Input and output can be redirected and processes that communicate through “pipes” can be invoked. Commands are found by searching directories in the file system in a sequence that can be defined by the user.

Keywords

Computer Science