Korn-Shell
Die Korn-Shell / ksh (auch: Korn Shell) ist eine direkte Weiterentwicklung der Bourne-Shell, die ab 1982 von David Korn bei den AT&T Bell Labs programmiert wurde. Als erste Shell bot sie sowohl einen vi-, als auch einen emacs-ähnlichen Editiermodus. Die offiziellen Versionen der Korn-Shell 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 Common Public License (CPL) freigegeben. Die Korn-Shell ist konform zum "Shell Language Standard" des "IEEE POSIX 1003.2 Shell and Utilities Language Committee".
Merkmale
- Shell-History zur Anzeige bereits ausgeführter Befehle. Alle aufgerufenen Befehle werden dabei in der Datei "$HOME/.sh_history" abgelegt. Über die Variable "HISTSIZE" (Voreinstellung 20) wird festgelegt, wieviele Befehle aufbewahrt werden.
- history 5 zeigt die fünf letzten Befehle
- r (repeat) wiederholt den letzten Befehl
- Befehlszeilen-Editor zur Bearbeitung der Befehlszeile. Auch er basiert auf der Datei ".sh_history".
- Alias-Funktionen
- Variablen der Korn-Shell
- Zusätzliche Optionen
- Prozesskontrolle (job control)
- Beginnt ein Verzeichnis mit einer Tilde, so wird diese durch den Pfad des Heimatverzeichnisses ersetzt.
- Durch zweimaliges Tippen der Escape-Taste wird versucht, den Datei- oder Pfadnamen des angefangenen Wortes anhand der erreichbaren Datei- bzw. Verteichnisnamen zu vervollständigen.
- Möglichkeit mit dem Shell-Befehl let mathematische Ausdrücke zu berechnen und in Variablen abzulegen.
- Die Shell merkt sich standardmässig die letzten 128 Befehle in der Datei ".sh_history" des Heimatverzeichnisses. Durch Aufruf von fc ohne weitere Argumente kann der letzte Befehl mit dem Systemeditor (meist vi) bearbeitet werden. Mit dem Befehl "set -o vi" können die Editierbefehle des vi direkt in die Befehlszeile geholt werden. Danach schaltet die Escape-Taste in den Editiermodus um.
Konfiguration
# whereis ksh ksh: /bin/ksh /usr/bin/ksh /etc/ksh.kshrc /usr/share/man/man1/ksh.1.gz
Startskripte
Bei Start der Korn-Shell als Login Shell werden folgende Dateien abgearbeitet (falls sie vorhanden sind).
1. "/etc/profile" (gilt für alle Benutzer und sorgt für eine gleiche Startumgebung)
2. "~/.profile" (Benutzereinstellungen). Bei Bedarf kann hier die Umgebungsvariable "ENV" gesetzt werden.
ENV=$HOME/.kshrc; export ENV
3. Bei Vorhandensein der Umgebungsvariable "ENV" wird auch die darin enthaltene Datei gelesen. Viele Systeme setzen diese Variable auf "~/.kshrc". Diese Datei kann weitere Voreinstellungen für die Korn-Shell enthalten, z. B. "alias", "set -o noclobber"). Diese Variable ist bei der Arbeit mit einer grafische Oberfläche besonders wichtig, da für jedes Fenster eine eigene Shell gestartet wird.
Beim Ausloggen wird ausserdem die die Datei "~/.logout" ausgeführt.
Verwendung
Aufruf der Korn-Shell.
$ ksh
Aufruf der Korn-Shell mit vi als Befehlszeileneditor.
$ ksh -o vi
Beenden der Korn-Shell.
$ exit oder CTRL+C
Weblinks
Herausgeber | Sprache | Webseitentitel | Anmerkungen |
---|---|---|---|
Wikipedia | ger | Korn-Shellwbm | Enzyklopädischer Artikel |