- Korn-Shell
-
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 gemeinfrei, nicht jedoch jede Implementierung eines Kommandozeileninterpreters.
Inhaltsverzeichnis
Implementierungen
Im Laufe der Zeit wurden verschiedene Implementierungen der Korn Shell geschrieben:
ksh88 / ksh93
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 Korn Shell waren ursprünglich 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 Common Public License (CPL) freigegeben. Die ksh ist konform zum „Shell Language Standard“ des „IEEE POSIX 1003.2 Shell and Utilities Language Committee“.
pdksh / mksh / oksh
pdksh ist eine gemeinfreie Implementierung der Korn Shell. Es werden fast alle Merkmale der ksh88 und einige wenige der ksh93 unterstützt. Zusätzlich bringt sie einige eigene Erweiterungen mit.
mksh ist ein pdksh-Derivat, bei dem auf einfachere Bedienbarkeit und schlanken, aber korrekten Code Wert gelegt wird. Dabei werden auch Verbesserungen von Projekten wie Debian und OpenBSD eingepflegt. Im Gegensatz zur OpenBSD-ksh ist mksh portabel und steht für verschiedene Plattformen zur Verfügung. Das Programm enthält auch viele Erweiterungen und Detailverbesserungen (zum Beispiel unbegrenzt große Arrays, oder ~/.mkshrc-Unterstützung), verzichtet jedoch bewusst auf den Code aufblähende Funktionalitäten wie eine bash-artige $PS1-Syntax; auch ist es nicht als Ersatz für /bin/sh gedacht. mksh wird vom MirOS-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.
Portierungen auf AmigaOS und Microsoft Windows
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.
Weblinks
ksh(1)
– Linux-Manpage (Englisch)- http://www.kornshell.com/ Allgemeine Seite über Ksh
- http://www.cs.mun.ca/~michael/pdksh/ pdksh-Webseite
- http://www.research.att.com/~gsf/download/gen/ast-ksh.html ksh (AT&T Research)
- http://www.research.att.com/sw/download/ Sourcen der ksh93 (Paket ast-ksh)
- http://mirbsd.de/mksh Offizielle Webseite (Weiterleitung auf aktuell funktionierende Version) der mksh
Literatur
- Bolsky, Morris I.; Korn, David A.: The KornShell command and programming language. Prentice Hall, Englewood Cliffs, N.J. 1989, ISBN 0-13-516972-0.
- Bolsky, Morris I.; Korn, David A.: The new KornShell command and programming language. Prentice Hall PTR, Upper Saddle River, N.J. 1995, ISBN 0-13-182700-6.
Wikimedia Foundation.