ART

 

.

Ο rc είναι ο διερμηνέας γραμμής εντολών των λειτουργικών συστημάτων Έκδοση 10 του Unix και Plan 9 from Bell Labs. Μοιάζει με το κέλυφος Bourne, αλλά η σύνταξή του είναι λίγο απλούστερη. Δημιουργήθηκε από τον Tom Duff, ο οποίος είναι γνωστός για μια ιδιαίτερη δομή της γλώσσας προγραμματισμού C που ονομάζεται Duff's device.

Το Plan 9 from User Space περιέχει μια μεταφορά του αυθεντικού rc στο Unix. Επίσης έχει γραφεί από την αρχή μια άλλη έκδοση του rc για Unix-οειδή λειτουργικά συστήματα από το Βύρωνα Ρακιντζή αλλά περιέχει κάποιες ασύμβατες αλλαγές.

Το rc χρησιμοποιεί δομές ελέγχου σαν της C αντί της ALGOL του αυθεντικού κελύφους Bourne, αν και χρησιμοποιεί μια δομή if not αντί της else και έχει ένα βρόχο for όπως το Bourne για να επαναλαμβάνεται πάνω σε λίστες. Όλες οι μεταβλητές στο rc είναι λίστες από συμβολοσειρές, επομένως δε χρειάζονται χαρακτηριστικά όπως το "$@".
Παραδείγματα

Για παράδειγμα, το σενάριο κελύφους Bourne:

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

εκφράζεται στο rc ως εξής:

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
}

Επειδή το if και το if not είναι δύο διαφορετικές εντολές, πρέπει να ομαδοποιούνται όταν χρησιμοποιούνται σε συγκεκριμένες καταστάσεις.

Το rc υποστηρίζει επίσης δυναμικές σωληνώσεις:

a |[2] b # κατευθύνει την έξοδο λάθους από το a στο b — στο κέλυφος Bourne είναι a 2>&1 | b
a <>b # ανοίγει το b σαν είσοδο και έξοδο του a
a <{b} <{c} # γίνεται a {έξοδος του b} {έξοδος του c}

Εξωτερικοί σύνδεσμοι

"Rc - The Plan 9 Shell" - του Tom Duff (Αγγλικά)


Κελύφη του Unix

Bash Bourne (Debian) Almquist csh Es Esh Friendly interactive shell Korn PWB Perl Rc Scsh Stand-alone tcsh Τόμσον Wish Z

Εγκυκλοπαίδεια Πληροφορικής

Κόσμος

Αλφαβητικός κατάλογος

Hellenica World - Scientific Library

Από τη ελληνική Βικιπαίδεια http://el.wikipedia.org . Όλα τα κείμενα είναι διαθέσιμα υπό την GNU Free Documentation License