Content deleted Content added
No edit summary |
Dan Harkless (talk | contribs) Copyediting and two {{clarification needed}s. |
||
Line 28:
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
==Influences== <!--Anchor from redirected [es] article; caution with changes. -->
===es===
''es'' (for "extensible shell") is an [[open source]], [[command line interpreter]] developed by Rakitzis and Paul Haahr
Extensible shell is intended to provide a fully [[functional programming|functional]] [[programming language]] as a [[Unix shell]].<ref>{{cite web|url=http://nnc3.com/lj/LJ/LJ12/0062.html|title=Linux Journal 12: What's GNU|date=|accessdate=2012-08-24|deadurl=yes|archiveurl=https://web.archive.org/web/20130117064248/http://nnc3.com/lj/LJ/LJ12/0062.html|archivedate=2013-01-17|df=}}</ref> The bulk of es development occurred in the early 1990s, after the shell was introduced at the Winter 1993 [[USENIX]] conference in [[San Diego]],<ref>[http://stuff.mit.edu/afs/sipb/user/yandros/doc/es-usenix-winter93.html Es: A shell with higher-order functions] by Byron Rakitzis, [[NetApp|NetApp, Inc]], and Paul Haahr, [[Adobe Systems Incorporated]]; <u>Archived</u> at [https://web.archive.org/web/20090415213858/http://192.220.96.201/es/es-usenix-winter93.html Archive.Org].</ref> Official releases appear to have ceased after 0.9-beta-1 in 1997,<ref>[ftp://ftp.sys.utoronto.ca/pub/es/ ]</ref> and
==Examples==
<source lang="bash">
Line 55:
</source>
is expressed in rc as:
<source lang="text">
Line 74:
</source>
Because <code>if</code> and <code>if not</code> are two different statements, they must be grouped in order to be used in certain situations.{{clarification needed |date=January 2019}}
Rc also supports more dynamic piping:
a |[2] b ''# pipe only [[standard error stream|standard error]] of a to b —
a <>b ''# opens b as a's [[standard input]] and [[standard output]]''
a <{b} <{c} ''# becomes a {standard output of b} {standard output of c}''{{clarification needed |date=January 2019}}
==References==
|