Κεφάλαιο 4 - Το κέλυφος (μέρος Α')
Το Κέλυφος (shell), ή μεταφραστής εντολών (command interpreter) όπως αλλιώς ονομάζεται, είναι ένα από τα χαρακτηριστικά που κάνουν το UNIX να ξεχωρίζει (το Linux είναι και αυτό ένα λειτουργικό σύστημα τύπου UNIX). Το κέλυφος προσφέρει απεριόριστες δυνατότητες στο χρήστη που ξέρει να το χειρίζεται και δεν είναι λίγα τα παραδείγματα ολόκληρων εφαρμογών που στηρίζονται σε σενάρια κελύφους (shell scripts). Για την ακρίβεια τα σενάρια κελύφους είναι ένας από τους προτεινόμενους τρόπους παραμετροποίησης μιας εφαρμογής καθώς είναι μεταφέρσιμα (portable) σε σχεδόν όλες τις πλατφόρμες UNIX , έχουν πολύ μικρό μέγεθος και είναι πολύ βολικά στην κατανάλωση μνήμης και επεξεργαστικής ισχύος. Ακόμη είναι πολύ γρήγορο και εύκολο να γραφτεί ένα μικρό σενάριο κελύφους που θα πραγματοποιεί μια συγκεκριμένη λειτουργία, για την οποία πιθανόν να χρειαζόταν πολλαπλάσιος χρόνος να γραφτεί σε κάποια παραδοσιακή γλώσσα προγραμματισμού (π.χ. C/C++), και η μεταφερσιμότητά της (portability) θα ήταν αμφισβητίσιμη.
Τί ακριβώς όμως είναι το κέλυφος; Από την πλευρά του πυρήνα, το κέλυφος είναι ένα απλό πρόγραμμα που ερμηνεύει και εκτελεί τις εντολές που του ορίζετε διαδοχικά. Ανάμεσα σε άλλα, το κέλυφος είναι υπεύθυνο για την εκτέλεση των σεναρίων κελύφους, για την ανάπτυξη των χαρακτήρων μοτίβων (patterns) σε ονόματα αρχείων, τη σύνδεση των αρχείων και εντολών με σωληνώσεις (pipes) και την υπό συνθήκη εκτέλεση εντολών (conditional execution). Τα σενάρια κελύφους δεν είναι τίποτε άλλο από προγράμματα γραμμένα σε ειδική σύνταξη, την ίδια με τη σύνταξη που εισάγετε στη γραμμή εντολών.