Rc (Unix shell): Difference between revisions

Content deleted Content added
Changed $@ to "$@", which now would be equivalent to the aforementioned lists of strings in terms of Bourne's argument quoting.
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
 
(3 intermediate revisions by 3 users not shown)
Line 13:
| latest_test_version =
| latest_test_date =
| source_model = [[Open source]]
| typing = [[weak typing|weak]]
| implementations =
Line 24 ⟶ 23:
}}
[[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">{{Cite web |last=Duff |first=Tom |date=1990 |title="Rc — The Plan 9 Shell" |url=http://doc.cat-v.org/plan_9/4th_edition/papers/rc |access-date=2024-01-26 |website=cat-v}}</ref>
 
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 33 ⟶ 32:
 
===es===
''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 |archive-date=2012-03-22 |archive-url=https://web.archive.org/web/20120322025924/http://luv.asn.au/overheads/shells-talk.html |url-status=dead }}</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>[https://web.archive.org/web/20230308211038/ftp://ftp.sys.utoronto.ca/pub/es/]</ref> and es lacks features present in more popular shells, such as [[zsh]] and [[Bash (Unix shell)|bash]].<ref>{{cite web | url=http://www.faqs.org/faqs/unix-faq/shell/shell-differences/ |title=UNIX shell differences| publisher=Faqs.org | access-date=2012-08-24}}</ref> A [[public ___domain]] fork of {{code|es}} is active {{as of|2019|lc=yes}}.<ref>{{cite web |last1=Haggerty |first1=James |title=wryun/es-shell: a shell with higher-order functions |url=http://wryun.github.io/es-shell/ |website=GitHub |date=13 March 2020}}</ref>
 
==Examples==