Το **κέλυφος Korn** (**Korn shell**, **ksh**) είναι ένα κέλυφος του Unix που δημιουργήθηκε από τον David Korn (στα AT&T Bell Laboratories) στις αρχές της δεκαετίας του 1980. Είναι αναδρομικά συμβατό με το κέλυφος Bourne και περιλαμβάνει πολλά χαρακτηριστικά του κελύφους C, όπως η ιστορία των εντολών που έχει εισάγει ο χρήστης, λόγω των απαιτήσεων των χρηστών στα Bell Labs.

Σχεδίαση
--------

Το βασικό πλεονέκτημα του ksh σε σχέση με το παραδοσιακό κέλυφος του Unix είναι η χρήση του σαν γλώσσα προγραμματισμού. Κατά τη διάρκεια της ιστορίας του προστέθηκαν σταδιακά πολλά χαρακτηριστικά, κρατώντας όμως σημαντική συμβατότητα με το κέλυφος Bourne.

Η έκδοση *ksh93* υποστηρίζει πίνακες αντιστοίχισης (associative array) και ενσωματωμένη αριθμητική κινητής υποδιαστολής.

Για αλληλεπιδραστική χρήση, το ksh παρέχει τη δυνατότητα στο χρήστη να τροποποιεί τη γραμμή εντολών με πιστό τρόπο (WYSIWYG), με τα πλήκτρα "βέλος-πάνω" ή "προηγούμενη-γραμμή" μπορεί να επιστρέψει σε μια προηγούμενη εντολή και στη συνέχεια να την επεξεργαστεί σαν ο χρήστης να ήταν σε κατάσταση τροποποίησης γραμμής. Τρεις καταστάσεις είναι διαθέσιμες, συμβατές με τον vi), τον emacs και τον XEmacs.

Το ksh προσπαθεί να είναι σύμφωνο με το πρότυπο *Shell Language Standard* (POSIX 1003.2 "Shell and Utilities Language Committee").

Ιστορία
-------

Μέχρι το 2000, το κέλυφος Korn παρέμενε ιδιόκτητο λογισμικό της AT&T. Από τότε έχει γίνει ελεύθερο λογισμικό, αρχικά με μια ειδική άδεια κατά την AT&T και στη συνέχεια, μετά την έκδοση 93q στις αρχές του 2005, με την άδεια Common Public License. Το κέλυφος Korn είναι διαθέσιμο στη συλλογή "AT&T Software Technology (AST) Open Source Software Collection". Επειδή το ksh αρχικά ήταν διαθέσιμο μόνο με την ιδιόκτητη άδεια της AT&T, δημιουργήθηκαν αρκετά εναλλακτικά κελύφη ελεύθερου ή ανοικτού λογισμικού. Σε αυτά περιλαμβάνεται το κοινόχρηστο (public domain) *pdksh* και ο διάδοχός του mksh που συνεχίζει να αναπτύσσεται, το bash (*Bourne-Again-Shell*) από το Free Software Foundation και το κέλυφος Z.

Αν και η έκδοση *ksh93* πρόσθεσε αρκετές βελτιώσεις, πολλές φορές η παλαιότερη έκδοση *ksh88* διανέμεται σαν `/bin/ksh`, μερικές φορές με επεκτάσεις. Σταδιακά όμως φαίνεται ότι σχεδόν όλοι οι διανομείς λειτουργικών συστημάτων Unix περιλαμβανουν πια το *ksh93*, με ελάχιστες εξαιρέσεις.

Παραλλαγές
----------

Υπάρχουν δύο τροποποιημένες εκδόσεις του ksh93 που προσθέτουν χαρακτηριστικά για το χειρισμό του γραφικού περιβάλλοντος του χρήστη: το *dtksh* που περιλαμβάνεται στο CDE και το *tksh* που επιτρέπει την πρόσβαση στη βιβλιοθήκη γραφικών Tk.

Το *mksh* (MirOS BSD Korn Shell) είναι μια έκδοση του ksh που αναπτύσσεται ενεργά, με την άδεια BSD. Είναι απευθείας απόγονος του */bin/ksh* του OpenBSD και διάδοχος του pdksh. Η ανάπτυξη του *mksh* εστιάζεται στη μεταφερσιμότητα του κώδικα, τις διορθώσεις ασφαλείας, την υποστήριξη UTF-8, και προσπαθεί να αποφύγει τα άχρηστα επιπλέον χαρακτηριστικά. Είναι διαθέσιμο για πολλά Unix-οειδή λειτουργικά συστήματα  και είναι το προεπιλεγμένο κέλυφος των MirBSD, FreeWRT και MidnightBSD.

Το *SKsh* είναι μια έκδοση για AmigaOS, που προσφέρει αρκετά χαρακτηριστικά σχετικά με Amiga, όπως η αλληλεπίδραση με κώδικα ARexx.

Το *MKS Korn shell* της MKS Inc. είναι άλλη μια ιδιόκτητη υλοποίηση του ksh. Ήταν μέρος του Services for Unix (SFU) της Microsoft μέχρι την έκδοση 2.0. Σύμφωνα με τον David Korn, το MKS Korn shell δεν ήταν πλήρως συμβατό με τη δική του υλοποίηση του κελύφους Korn του 1998.

Στην έκδοση 3.0 των SFU, η Microsoft αντικατέστησε το *MKS Korn shell* με ένα νέο και πλήρως συμβατό κατά POSIX κέλυφος Korn, βασιζόμενη στην νέα τεχνολογία του υποσυστήματος Interix. Υποστηρίζεται στα Windows NT 4.0 SP6a+, στα Windows 2000, στα Windows XP Professional και στα Windows Server 2003. Είναι επίσης διαθέσιμο στα Subsystem for UNIX-based Applications (SUA) των εκδόσεων Windows Vista Enterprise και Ultimate και στα Windows Server 2008.

Αναφορές
--------

1. ↑  «mksh development». Mirbsd.mirsolutions.de. Αρχειοθετήθηκε από το πρωτότυπο στις 19 Ιουλίου 2011. Ανακτήθηκε στις 22 Οκτωβρίου 2009.
2. ↑  «mksh tested on various platforms». Mirbsd.org. Ανακτήθηκε στις 22 Οκτωβρίου 2009.
3. ↑  «David Korn Tells All». Slashdot. Ανακτήθηκε στις 22 Οκτωβρίου 2009.
4. ↑  «Jerry Feldman — USENIX NT/LISA NT conference attendee». Lists.blu.org. Ανακτήθηκε στις 22 Οκτωβρίου 2009.
5. ↑  «Windows Services for UNIX Version 3.0». Technet.microsoft.com. Ανακτήθηκε στις 22 Οκτωβρίου 2009.
6. ↑  «Welcome to Subsystem for UNIX-based Applications». Technet2.microsoft.com. 13 Μαρτίου 2006. Αρχειοθετήθηκε από το πρωτότυπο στις 13 Μαΐου 2008. Ανακτήθηκε στις 22 Οκτωβρίου 2009.
7. ↑  «Download details: Utilities and SDK for Subsystem for UNIX-based Applications in Microsoft Windows Vista SP1/Windows Server 2008 RTM». Microsoft.com. Ανακτήθηκε στις 22 Οκτωβρίου 2009.

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

* Korn shell home page (Αγγλικά)
* ksh93 man page Αρχειοθετήθηκε 2013-06-05 στο Wayback Machine. (Αγγλικά)
* Public Domain Korn shell (pdksh) (Αγγλικά)
* MirBSD Korn Shell (Αγγλικά)
* mksh man page (Αγγλικά)


|  |  |  |  |
| --- | --- | --- | --- |
| 

| π • σ • ε
Κελύφη του Unix |
| --- |
|  |
| 
* Bash
* Bourne
* (Debian) Almquist
* csh
* Es
* Esh
* Friendly interactive shell
* Korn
* PWB
* Perl
* Rc
* Scsh
* Stand-alone
* tcsh
* Τόμσον
* Wish
* Z
 |

 |