Korn-Shell
aus Wikipedia, der freien Enzyklopädie
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 |
[Bearbeiten] Implementierungen
Im Laufe der Zeit wurden verschiedene Implementierungen der Korn Shell geschrieben:
[Bearbeiten] 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 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".
[Bearbeiten] pdksh / mksh / oksh
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.
[Bearbeiten] 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.
[Bearbeiten] 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