Content deleted Content added
m Restore external link to Plan 9 from User Space to allow download of rc |
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 |
||
(39 intermediate revisions by 23 users not shown) | |||
Line 1:
{{short description|Command line interpreter for Version 10 Unix and Plan 9 from Bell Labs operating systems}}
{{lowercase|title=rc}}
{{refimprove|date=March 2014}}
Line 13:
| latest_test_version =
| latest_test_date =
| typing = [[weak typing|weak]]
| implementations =
| dialects = Byron's rc
| influenced_by = [[Bourne shell]]
| influenced = [[#es
| operating_system = [[Cross-platform]] ([[Version 10 Unix]], [[Plan 9 from Bell Labs|Plan 9]], [[Plan 9 from User Space]])
| license =
| website =
}}
[[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
==Influences== <!--Anchor from redirected [
===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|access-date
==Examples==
<
if [ "$1" = "hello" ]; then
echo hello, world
Line 53 ⟶ 52:
done
fi
</syntaxhighlight>
is expressed in rc as:
<
if(~ $1 hello)
echo hello, world
Line 72 ⟶ 71:
echo $i
}
</syntaxhighlight>
Rc also supports more dynamic piping:
a |[2] b ''# pipe only [[standard error stream|standard error]] of a to b —
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},''
# ''better known as "[[process substitution]]"''<ref name=RCTD/>{{rp|at=Pipeline Branching}}
==References==
Line 86 ⟶ 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
*[
*[http://hawkwind.utcs.utoronto.ca:8001/mlists/es.html es Official website]
|