rc (coajă)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Rc
limbaj de programare
Autor Tom Duff
Data de origine 1989
Paradigme programare imperativă și programare procedurală
Influențată de Bourne shell
Implementare referință
Sistem de operare Multiplatform
Site-ul web doc.cat-v.org/plan_9/4th_edition/papers/rc

rc (scurt pentru comenzi de rulare ) este interpretul de comenzi pentru sistemele de operare Unix Versiunea 10 și Plan 9 de la Bell Labs . Arată ca shell-ul Bourne , dar sintaxa este puțin mai simplă.

A fost creat de Tom Duff , cel mai bine cunoscut pentru construcția neobișnuită de limbaj de programare C numită dispozitivul lui Duff .

Caracteristici

Rc foloseste C- ca structurile de control în loc de ALGOL- cum ar fi, cum ar fi cele folosite de original Bourne shell , cu excepția utilizării unei dacă nu în loc de construct altfel și având o pentru Bourne-ca bucla pentru a itera prin liste.

Pe rc toate variabilele sunt liste de șiruri, ceea ce elimină necesitatea unor construcții precum "$ @" .

Versiuni

Un port Unix al rc-ului original face parte din Planul 9 din Spațiul utilizatorului . Există, de asemenea, o rescriere a rc pentru sistemele de operare de tip Unix, realizată de Byron Rakitzi, care a necesitat însă modificări care îl fac incompatibil.

Exemple

De exemplu, scriptul shell Bourne

 dacă test $ 1 = salut ; atunci
    ecou salut, lume
altceva
    găzduiește 2 dolari în
    1 ) ecou $ # 'hei' "jude's" $ 3 ;;
    2 ) ecou ` data` : $ * :: " $ @ " : ;;
    * ) ecou de ce nu 1 > & 2
    hexac
    pentru i in abc ; do
        ecou $ i
    Terminat
fi

în rc se exprimă cu

 if (~ $ 1 salut)
    ecou salut, lume
dacă nu {
    comutați (2 USD) {
    case 1
        ecou $ # * 'hei' 'jude''s' ^ $ 3
    case 2
        ecou `{data}: $" * :: $ *:
    case *
        ecou de ce nu> [1 = 2]
    }
    pentru (i în abc)
        ecou $ i
}

Deoarece dacă și dacă nu sunt două afirmații diferite, în cazuri particulare, acestea trebuie grupate.

Rc acceptă, de asemenea, conducte mai dinamice:

 a | [2] b # conductează eroarea standard a a cu b - În shell-ul Bourne este egal cu 1> & 2 | b
a <> b # deschide b ca intrare standard și eroare de aa <{b} <{c} # devine o {ieșire standard a lui b} {ieșire standard a lui c}

Elemente conexe

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT