Korn-Shell

Aus Mikiwiki
Version vom 11. Juli 2010, 13:07 Uhr von Michi (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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
country DE.gif Wikipedia ger Korn-Shellwbm Enzyklopädischer Artikel