Als Korn Shell wird hauptsächlich unter Unix die Sprachbeschreibung für den Kommandozeileninterpreter bezeichnet, während mit ksh die Implementierung dieser Sprache in einem Programm gemeint ist.
Die Sprachbeschreibung selbst ist Public-Domain, nicht jedoch jede Implementierung der Sprache.
Inhaltsverzeichnis |
Im Laufe der Zeit wurden verschiedene Implementierungen der Korn Shell geschrieben:
Die ksh wurde seit 1982 von David Korn bei den AT&T Bell Labs entwickelt. Als erste Shell bot sie sowohl einen vi-, als auch einen Emacs-ähnlichen Editiermodus. Die offiziellen Versionen der Ksh sind nicht frei, die Rechte liegen bei AT&T und Novell (ksh88), bzw. AT&T und Lucent (ksh93). Eine erweiterte Version zur Programmierung grafischer Oberflächen unter X11 ist die Desktop ksh (dtksh). Im Jahr 2000 wurde der Quelltext der ksh93 unter der CPL-Lizenz freigegeben. Die ksh ist konform zum "Shell Language Standard" des "IEEE POSIX 1003.2 Shell and Utilities Language Committee".
pdksh ist eine Public-Domain-Implementierung der Korn Shell. Es werden fast alle Features der ksh88 und einige wenige der ksh93 unterstützt. Zusätzlich bringt sie einige eigene Erweiterungen mit.
mksh ist ein pdksh-Derivat, welches neben einfacherer Bedienbarkeit auf schlanken aber korrekten Code Wert legt, dabei auch Verbesserungen von anderen Projekten wie Debian und OpenBSD einpflegt, und im Gegensatz zur OpenBSD-ksh hinreichend portabel ist. Als /bin/sh ist sie nicht gedacht (das MirBSD-Projekt, dem sie entstammt, nutzt hier eine Variante der NetBSD®-ash), aber einsetzbar (es gibt Crux-Patches, um einen Linux-Kernel mit mksh statt bash als /bin/sh bauen zu lassen). Sie enthält auch viele Erweiterungen und Detailverbesserungen (zum Beispiel unbegrenzt große Arrays, oder ~/.mkshrc Unterstützung), verzichtet jedoch absichtlich auf den Code aufblähende Sachen wie bash-artige $PS1-Syntax. mksh wird vom MirOS-Projekt, einem in Deutschland angesiedelten BSD-Projekt, gewartet.
oksh ist eine Linux-Portierung der OpenBSD-Variante der Korn Shell, wobei im OpenBSD-Code nur so viel Änderungen wie nötig eingepflegt werden, um ihn unter Linux kompilierfähig zu machen. Diese Variante wird als Standard-Shell /bin/sh unter DeLi Linux eingesetzt.
SKsh ist eine Version für AmigaOS, die eine Anzahl Amiga-spezifischer Merkmale wie beispielsweise ARexx-Interoperabilität bietet.
Die MKS Korn shell ist eine weitere kommerzielle ksh Implementierung. Sie ist Bestandteil von Microsofts Windows Services for UNIX (SFU) sowie dem Subsystem für UNIX-basierte Anwendungen (SUA) der Windows Vista Enterprise und Ultimate Editionen.
Adelung-1793: Korn (2), das · Martins-Korn, das · Davids-Korn, das · Korn (1), das
Brockhaus-1911: Schrot und Korn · Korn
Lueger-1904: Shell · Korn [2] · Korn [1]
Meyers-1905: Nordhäuser Korn · Körn. · Schrot und Korn · Walachisches Korn · Sibirisches Korn · Astrachanisches Korn · Ägyptisches Korn · Indisches Korn · Korn [2] · Korn [1]
Pataky-1898: Korn, Minna · Korn, Leonore u. Marie Koch
Pierer-1857: Türkisches Korn · Korn [3] · Korn · Welsches Korn · Korn [2] · Astrachanisches Korn · Arabisches Korn · Korn [1] · Feines Korn