Shell
The Shell, a type of command language, is an interface to the operating system and a means for the user to control the kernel. Multiple shells have seen use since early UNIX days, and still more shells are being developed today.
Shell languages often mix structured programming constructs with bespoke commands like cd
command, which every shell MUST implement since chdir
can only affect the working directory of the running process itself.
- 1976: The Unix Command Language (more info)
- by Ken Thompson
- view converted Markdown on GitHub
- The syntax (
|
) was contributed by Douglas McIlroy. - The original syntax can be found in 1987's A Research UNIX Reader.
- 1976: Using a Command Language as a High-Level Programming Language (doi)
- by John Mashey
- 1978: The UNIX Shell (html) (mirror)
- 1990: Rc - The Plan 9 Shell (cat-v)
- by Tom Duff
- 1993: Es: A shell with higher-order functions (official)
- by Paul Haahr and Byron Ratikiz
- 2015: Early days of Unix and design of sh