Su desarrollo inicial se basó en el código de Bourne Shell.desde su concepción, se le agregaron gradualmente muchas capacidades.Entre las principales diferencias entre KornShell y la Bourne Shell tradicional se incluyen: 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.