Rc (Unix shell)
| rc | |
|---|---|
| Paradigm | imperative, pipeline | 
| Designed by | Tom Duff | 
| Developer | Bell Labs | 
| First appeared | 1989 | 
| Typing discipline | weak | 
| OS | Cross-platform (Version 10 Unix, Plan 9, Plan 9 from User Space) | 
| Website | doc | 
| Dialects | |
| Byron's rc | |
| Influenced by | |
| Bourne shell | |
| Influenced | |
| es, the Inferno shell | |
rc (for "run commands") is the command-line interpreter for Version 10 Unix and Plan 9 from Bell Labs operating systems. It resembles the Bourne shell, but its syntax is somewhat simpler. It was created by Tom Duff, who is better known for an unusual C programming language construct ("Duff's device").
A port of the original rc to Unix is part of Plan 9 from User Space. A rewrite of rc for Unix-like operating systems by Byron Rakitzis is also available but includes some incompatible changes.
Rc uses C-like control structures instead of the original Bourne shell's ALGOL-like structures, except that it uses an if not construct instead of else, and has a Bourne-like for loop to iterate over lists. In rc, all variables are lists of strings, which eliminates the need for constructs like "$@". Variables are not re-split when expanded. The language is described in Duff's paper.