Korn Shell
aus Wikipedia, der freien Enzyklopädie
Als KornShell wird hauptsächlich Unter Unix die Sprachbeschreibung für 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.
Grundsätzlich gibt es zwei Implementierungen der KornShell:
ksh88 / ksh93: 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 CDL-Lizenz freigegeben. Die ksh ist konform zum "Shell Language Standard" des "IEEE POSIX 1003.2 Shell and Utilities Language Committee".
pdksh: 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 Standardshell /bin/sh unter DeLi Linux eingesetzt.
[Bearbeiten] Weblinks
- http://www.kornshell.com/ Allgemeine Seite über Ksh
- http://www.cs.mun.ca/~michael/pdksh/ pdksh-Webseite
- 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