Linux · Programmierung
Ksh
KornShell (ksh) ist eine Unix-Shell, die Funktionen von sh, csh und awk für Skripting und interaktive Nutzung kombiniert.
- Lizenz
- GPL-3.0
- Aktuelle Version
- 1.0.10
Was ist Ksh?
KornShell, entwickelt von David Korn in den frühen 1980er Jahren, wurde entworfen, um die Bourne-Shell zu verbessern, indem Funktionen wie Arrays, eingebautes Arithmetik und eine leistungsfähigere Befehlsprache hinzugefügt wurden. Im Laufe der Jahrzehnte ist sie zu einem Standard in vielen Unix- und Linux-Distributionen geworden, insbesondere dort, wo die Rückwärtskompatibilität mit älteren Skripten wichtig ist.
ksh richtet sich an Systemadministratoren, Entwickler und Power-User, die ein zuverlässiges Skripting-Umfeld benötigen. Es wird oft wegen seines Gleichgewichts zwischen der Einfachheit von sh und den fortgeschrittenen Funktionen von csh gewählt, was es zu einer guten Mittelweg-Lösung für diejenigen macht, die mehr als eine Basis-Shell, aber weniger als eine vollständige Programmiersprache wollen.
Im Vergleich zu Windows PowerShell wirkt ksh traditioneller und leichter. Es fehlt das objektorientierte Pipeline-Paradigma von PowerShell, aber seine textbasierte Befehlszeile und Skriptsyntax sind den Nutzern anderer POSIX-Shells vertraut. Die Lernkurve ist moderat, mit vielen Tutorials für diejenigen, die von Windows-Batch- oder PowerShell-Skripten umsteigen.
Ideal für: Großskalige Shell-Skripting, bei denen die Kompatibilität mit legacy Unix-Skripten entscheidend ist.
Wichtige Funktionen von Ksh
- POSIX‑kompatible Shell-Sprache
- Eingebaute Arrays und assoziative Arrays
- Unterstützung für arithmetische Ausdrücke
- Befehlsersetzung und Globbing
- Interaktive Bearbeitung mit Verlauf
- Skriptportabilität über Unix/Linux hinweg
Vorteile
- Kostenlos und Open Source
- Weit verbreitet in Hauptdistributionen
- Starke Rückwärtskompatibilität mit sh-Skripten
- Effizient für große Batch-Jobs
Nachteile
- Kein nativer Objekt-Pipeline wie bei PowerShell
- Begrenzte moderne GUI-Integration
- Lernkurve für fortgeschrittene Funktionen
Windows-Programme, die Ksh ersetzt
Ksh unter Linux installieren
sudo apt install ksh93u+msudo apt install ksh93u+msudo dnf install kshsudo pacman -S kshsudo zypper install kshTipps für Windows-Umsteiger
Beim Wechsel von PowerShell beachten Sie, dass ksh Textdateien mit .sh oder ohne Erweiterung verwendet; die Befehlssyntax unterscheidet sich (z. B. $() für Befehlsersetzung, nicht $(…)). Tastenkombinationen wie Tab-Vervollständigung funktionieren, aber PowerShell‑ähnliche Cmdlets fehlen. Skripte, die auf PowerShell-Objekte angewiesen sind, müssen umgeschrieben werden, um Textstreams oder externe Werkzeuge wie awk oder sed zu nutzen.
Ksh: häufige Fragen
Wird ksh noch gepflegt?
Ja, die neueste stabile Version ist ksh93, die gelegentliche Sicherheitsupdates erhält.
Kann ich PowerShell-Skripte in ksh ausführen?
Nein. PowerShell-Skripte (.ps1) sind nicht kompatibel; Sie müssen sie in ksh-Syntax neu schreiben.
Unterstützt ksh Arrays?
Ja, ksh93 unterstützt indizierte und assoziative Arrays, die für komplexe Datenstrukturen nützlich sind.
Wie aktiviere ich die Befehlsverlauf-Funktion in ksh?
Fügen Sie set -o histexpand hinzu und verwenden Sie den Befehl history; die meisten Distributionen aktivieren den Verlauf standardmäßig.
Aktualisiert am