rc

From Seo Wiki - Search Engine Optimization and Programming Languages
Jump to navigationJump to search

rc
Paradigm imperative, pipeline
Appeared in 1989
Designed by Tom Duff
Developer Bell Labs
Typing discipline weak
Dialects Byron's rc
Influenced by Bourne shell
Influenced Es shell, The Inferno shell.
OS Cross-platform (Version 10 Unix, Plan 9, Plan 9 from User Space)
Website Rc - The Plan 9 Shell

rc is the command line interpreter for Version 10 Unix and Plan 9 from Bell Labs operating systems. 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 construct called Duff's device.

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 ALGOL-like, as the original Bourne shell uses, except that it uses a construct if not instead of else and has a Bourne-like for loop to iterate over lists. In rc all variables are lists of strings, which eliminates the need for constructs like "$@".

Examples

For example, the Bourne shell script

if test $1 = hello; then
    echo hello, world
else
    case $2 in
    1) echo $# 'hey' "jude's"$3;;
    2) echo `date` :$*: :"$@":;;
    *) echo why not 1>&2
    esac
    for i in a b c; do
        echo $i
    done
fi

is expressed in rc as

if(~ $1 hello)
    echo hello, world
if not {
    switch($2) {
    case 1
        echo $#* 'hey' 'jude''s'^$3
    case 2
        echo `{date} :$"*: :$*:
    case *
        echo why not >[1=2]
    }
    for(i in a b c)
        echo $i
}

Because if and if not are two different statements, they must be grouped in order to be used in certain situations.

Rc also supports more dynamic piping:

a |[2] b    # pipe standard error of a to b — in Bourne shell as a 1>&2 | 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}

References

External links

Template:Unix-stub

Template:Unix Shells

it:Rc shell

If you like SEOmastering Site, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...