LinuxAlternative

Linux · Programmierung

Ksh

KornShell (ksh) ist eine Unix-Shell, die Funktionen von sh, csh und awk für Skripting und interaktive Nutzung kombiniert.

Open SourceKostenlos
Als Erste(r) bewerten
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

Ubuntu / Mintsudo apt install ksh93u+m
Debiansudo apt install ksh93u+m
Fedorasudo dnf install ksh
Arch / Manjarosudo pacman -S ksh
openSUSEsudo zypper install ksh

Tipps 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