Korn shell
# Korn shell

KornShell (ksh) es un programa informático «intérprete de comandos» Unix desarrollado por David Korn en AT&T en los Laboratorios Bell en 1980 y divulgado en USENIX el 14 de julio de 1983. Su desarrollo inicial se basó en el código de Bourne Shell. Otros contribuidores fueron los desarrolladores de los Laboratorios Bell Mike Veach y Pat Sullivan quienes escribieron el modo de edición Emacs y vi para la línea de comandos. KornShell es compatible con versiones anteriores de Bourne Shell e incluye muchas características del intérprete C Shell inspiradas a petición de los usuarios de los Laboratorios Bell.

La principal ventaja de ksh sobre otros intérpretes de comandos tradicionales de Unix, es el uso como lenguaje de programación. desde su concepción, se le agregaron gradualmente muchas capacidades.

Entre las principales diferencias entre KornShell y la Bourne Shell tradicional se incluyen:

* Control de tareas, definición de alias de comandos, e historial de comandos diseñados después de las correspondientes características de C Shell. El control de tareas fue añadido a la Bourne Shell en 1989.
* La opción de tres estilos de edición de línea de comandos basadas en vi, Emacs, y XEmacs.
* Vectores asociativos y aritmética de coma flotante integrada (solamente disponible en la versión ksh93 de KornShell).
* Extensibilidad dinámica de comandos integrados (a partir de ksh93).

Sus funciones avanzadas para manejar archivos de comandos lo pusieron a la par con lenguajes de programación especializados como awk y perl.

Para uso interactivo, ksh provee la habilidad de editar la línea de órdenes en modo WYSIWYG, usando la tecla cursor-arriba para llamar a una orden previamente usada y luego editar la orden como si los usuarios estuvieran en modo línea. Dos modos están disponibles, compatible con vi y emacs.

ksh siempre intenta respetar el Shell Language Standard (POSIX 1003.2 : "Shell and Utilities Language Committee").

