UNIX Time-Sharing System: The UNIX Shell

S. R. Bourne · Bell System Technical Journal · 1978

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.

Read the paper · More papers on PaperTik