Content deleted Content added
Citation bot (talk | contribs) Add: publisher. | Use this bot. Report bugs. | #UCB_CommandLine |
Fixed ref, little formatting in example |
||
Line 25:
}}
[[File:Plan 9 from Bell Labs (process management).png|thumb|An rc session]]
'''rc''' (for "[[run commands]]") is the [[command line interpreter]] for [[Version 10 Unix]] and [[Plan 9 from Bell Labs]] [[operating system]]s. 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)|C programming language]] construct ("[[Duff's device]]").<ref name="RCTD">{{
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.
Line 36:
''es'' (for "extensible shell") is an [[open source]], [[command line interpreter]] developed by Rakitzis and Paul Haahr<ref>{{cite book | url=https://books.google.com/books?id=iEK6eQQwOF0C&pg=PA43 | title=Spatial Analytical Perspectives on GIS| isbn=9780748403400| last1=Fischer| first1=Manfred M.| date=13 December 1996| publisher=CRC Press}}</ref> that uses a [[scripting language]] syntax influenced by the rc shell.<ref>{{cite web |url=http://manpages.ubuntu.com/manpages/hardy/man1/es.1.html |title=Ubuntu Manpage: es - extensible shell |publisher=Manpages.ubuntu.com |date=1992-03-05 |access-date=2012-08-24 |url-status=dead |archive-url=https://web.archive.org/web/20140224211945/http://manpages.ubuntu.com/manpages/hardy/man1/es.1.html |archive-date=2014-02-24 }}</ref><ref>{{cite web | url=http://foldoc.org/Extensible+Shell |title=Extensible Shell |publisher=FOLDOC |access-date=2012-08-24}}</ref> It was originally based on code from Byron Rakitzis's clone of [[rc shell|rc]] for Unix.<ref>{{cite web | url=http://luv.asn.au/overheads/shells-talk.html |title=Shells Available for Linux |publisher=LUV |access-date=2012-08-24}}</ref><ref>{{cite web|last=Jones|first=Tim|title=Evolution of shells in Linux|url=http://www.ibm.com/developerworks/library/l-linux-shells/|publisher=IBM|access-date=14 March 2014}}</ref>
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|access-date=2012-08-24|url-status=dead|archive-url=https://web.archive.org/web/20130117064248/http://nnc3.com/lj/LJ/LJ12/0062.html|archive-date=2013-01-17}}</ref> It does so by introducing "program fragments" in braces as a new datatype, lexical scoping via [[Let expression|let]], and some more minor improvements. 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/
==Examples==
Line 79:
a |[2] b ''# pipe only [[standard error stream|standard error]] of a to b — equivalent to '3>&2 2>&1 >&3 | b' in [[Bourne shell]]''<ref name=RCTD/>{{rp|at=Advanced I/O Redirection}}
a <>b ''# opens file b as a's [[standard input]] and [[standard output]]''
a <{b} <{c} ''# becomes a {standard output of b} {standard output of c}
==References==
|