In informatica la Korn shell è una Unix shell, ovvero un interprete di comandi interattivo che gode di un linguaggio di programmazione proprio per impartire comandi al sistema tramite script; fra le caratteristiche peculiari vi è la retrocompatibilità con la bourne shell, da cui deriva, nonché l'aver incorporato diverse funzionalità della C shell (csh). È la shell di default del sistema operativo, unix-like, OpenBSD.
La Korn shell (ksh) è stata sviluppata presso AT&T Bell Laboratories da David Korn nel 1980; l'annuncio del suo rilascio invece è stato ufficializzato allo USENIX nel 1983[2].
La Korn shell è retrocompatibile con la Bourne shell, include peraltro diverse caratteristiche della C shell, come ad esempio la storia dei comandi (history), tali proprietà furono inserite grazie al feedback di diversi utenti dei laboratori AT&T. È conforme allo standard internazionale POSIX (Portable Operating System Interface for Computer Environments) relativo ai sistemi operativi Unix, in particolare alla parte 2 inerente shell and utilities (IEEE Std 1003.2-1992)[3], e proprio per questa caratteristica è detta anche POSIX shell.
Le features condivise sia con la C shell sia con la Bourne shell sono:
Diversi software sono nati poiché direttamente derivati dalla Korn shell, alcuni di essi sono i seguenti:
- dtksh (Desktop Korn Shell) è un fork della versione ksh93, è stata prodotta per consentire agli utenti di interagire al meglio con l'ambiente grafico, è peraltro parte integrante di CDE;
- Rksh è una versione ridotta di ksh, utilizzata principalmente per il settaggio del login utente;
- tksh è un fork della versione ksh93, è stata progettata per essere una libreria Tcl per ksh, quindi dalla shell si ha un accesso diretto al widget toolkit Tk:
- PD-ksh è un clone di ksh, ha diverse features della versione ksh88 ma poche della versione ksh93;
- Sksh è una versione per AmigaDos, che fornisce un ambiente unix-like.
- David G. Korn e Morris I. Bolsky, The New KornShell Command And Programming Language, 2ª ed., Prentice Hall, 1995, ISBN 978-0-13-182700-4.
- Barry J. Rosenberg, Hands-On KornShell93 Programming, Addison-Wesley Professional, 1998, ISBN 978-0-201-31018-4.
- Anatole Olczac, The Korn Shell: Unix & Linux Programming Manual, 3ª ed., Addison-Wesley, 2001, ISBN 978-0-201-67523-8.
- Arnold Robbins e Bill Rosenblatt, Learning the Korn Shell, 2ª ed., O'Reilly Media, 2002, ISBN 978-0-596-00195-7.
- Larry L.Smith, Korn Shell/ksh: Essential Programs for Your Survival at Work, BookSurge Publishing, 2006, ISBN 978-1-4196-4831-1.
- Larry A.Walker, Professional Unix Shell Programming, BookSurge Publishing, 2006, ISBN 978-1-4196-3771-1.
- Randal K. Michael, Mastering UNIX Shell Scripting: Bash, Korn Shell, and Korn 93 Shell Scripting for Programmers, System Administrators and UNIX Gurus, 2ª ed., John Wiley & Sons, 2008, ISBN 978-0-470-18301-4.
- (EN) Korn Shell home page, su kornshell.com.
- (EN) Korn Shell Documentation, su kornshell.com.
- (EN) Ksh Scripting, basic intro, su well.ox.ac.uk. URL consultato il 5 giugno 2014 (archiviato dall'url originale il 17 febbraio 2014).
- (EN) Korn shell scripting, a beginner's guide, su ibm.com.
- (EN) Korn Shell (ksh) Programming, su bolthole.com.
- (EN) man page, versione ksh88, su www2.research.att.com. URL consultato l'8 giugno 2014 (archiviato dall'url originale il 5 novembre 2015).
- (EN) man page, versione ksh93, su www2.research.att.com. URL consultato l'8 giugno 2014 (archiviato dall'url originale il 12 luglio 2014).