Content deleted Content added
Notifying subject page of move discussion on Talk:Rc Tag: Reverted |
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 |
||
(8 intermediate revisions by 8 users not shown) | |||
Line 1:
{{short description|Command line interpreter for Version 10 Unix and Plan 9 from Bell Labs operating systems}}
▲</noinclude>{{lowercase|title=rc}}
{{refimprove|date=March 2014}}
{{Infobox programming language
Line 15 ⟶ 13:
| latest_test_version =
| latest_test_date =
| typing = [[weak typing|weak]]
| implementations =
| dialects = Byron's rc
| influenced_by = [[Bourne shell]]
| influenced = [[#es|es]],
| operating_system = [[Cross-platform]] ([[Version 10 Unix]], [[Plan 9 from Bell Labs|Plan 9]], [[Plan 9 from User Space]])
| license =
Line 26 ⟶ 23:
}}
[[File:Plan 9 from Bell Labs (process management).png|thumb|An rc session]]
'''rc''' (for "[[run commands]]") is the [[command
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 <code>if not</code> construct instead of <code>else</code>, and has a Bourne-like <code>for</code> loop to iterate over lists. In rc, all variables are lists of strings, which eliminates the need for constructs like
==Influences== <!--Anchor from redirected [[Es (Unix shell)]] article; caution with changes. -->
===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 |
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]]
==Examples==
Line 87 ⟶ 84:
==External links==
*{{man|1|rc|Plan 9||inline}} - Plan 9 manual page
*[https://9fans.github.io/plan9port/ Plan 9 from User Space] - Includes rc and other Plan 9 tools for Linux, Mac OS X and other Unix-like systems
*[https://github.com/rakitzis/rc Byron Rakitzis' rewrite for Unix] ([http://tobold.org/article/rc article] {{Webarchive|url=https://web.archive.org/web/20131005004955/http://tobold.org/article/rc |date=2013-10-05 }})
*[http://hawkwind.utcs.utoronto.ca:8001/mlists/es.html es Official website]
|