Die verschiedenen Shells unter Linux verstehen: Korn Shell

Wenn wir unter Linux über eine Shell sprechen, denken die meisten Leute standardmäßig an Bash. Es ist zwar die am weitesten verbreitete und wohl auch eine der einfachsten Shells überhaupt, aber es gibt auch viele andere Shells, die sich nach Ihrer Aufmerksamkeit sehnen. Heute werden wir eine weitere sehr berühmte Muschel durchgehen: die Korn-Shell („ksh“ für die Vertrauten).

Geschichte

Ursprünglich galt die Korn Shell als kommerzielle Alternative zur Bash Shell. Die Korn-Shell wurde 1983 von David G. Korn für AT&T Bell entwickelt und ist von der Interaktivität der C-Shell und der Effektivität der Bourne-Shell inspiriert. Es wurde 1986, dann 1988 aktualisiert und schließlich 1993 als Open Source veröffentlicht. Da es sich bei der Korn Shell jedoch um ein kommerzielles Produkt handelte, wurde 1987 eine kostenlose Alternative namens Public Domain Korn Shell erstellt. Dieses pdksh, das Sie heute noch verwenden können, basiert größtenteils auf dem ksh von 1998 und 1993. Aus heutiger Sicht sind Bash und Korn ziemlich ähnlich und kompatibel. Tatsächlich stammen beide von demselben Vorfahren ab. Allerdings ist die Interaktion etwas anders und einige der Skripttechniken müssen überprüft werden, wenn man von einer zur anderen wechselt.

Installation

Da Sie nun mehr über ksh wissen, beginnen wir mit der Installation. Für Ubuntu ist die Installation ziemlich einfach:

Wenn Sie eine andere Distribution verwenden, können Sie Ihre Repositorys überprüfen. Im schlimmsten Fall laden Sie das Paket von herunter.

Sobald das Paket installiert ist, können Sie eine Korn-Shell von jedem Terminal aus über den folgenden Befehl starten:

Wenn Ihnen diese Shell wirklich gefällt und Sie möchten, dass sie Ihre aktuelle ersetzt, können Sie dies durch Eingabe tun

[enlazatom_show_links]
sudo usermod -s /bin/ksh [user name]

Verwendung

Wie ich bereits sagte, ist die Korn-Shell der Bash-Shell nahe. Aber bevor Sie etwas ausprobieren, müssen Sie wissen, dass ksh das Verhalten Ihres bevorzugten Texteditors imitieren kann. Das ist das Erste, was Sie dazu bringen wird, Korn zu mögen oder zu hassen. Um es klarer zu machen: Sie können Ihre Shell so einstellen, dass sie über dieselben Verknüpfungen und Funktionen verfügt wie ein nicht-grafischer Texteditor Ihrer Wahl. Um eine Liste der auf Ihrem System verfügbaren Editoren anzuzeigen, verwenden Sie diesen Befehl von ksh:

Ich für meinen Teil bevorzuge die Verwendung von Vi. Deshalb habe ich es getan

Ab diesem Zeitpunkt verhält sich ksh genauso wie vi. Und diejenigen unter Ihnen, die alles über Emacs wissen, sollten dies natürlich auch tun

Für diesen Artikel fahren wir mit Vi fort. Sie haben jetzt Zugriff auf alle Verknüpfungen und Befehle, die Sie normalerweise mit Vi verwenden. Denken Sie daran, zuvor die klassische „Esc“-Taste zu verwenden. Zum Beispiel,

  • Sie können eine Zeile mit „dd“ löschen.
  • Mit „e“ zum nächsten Wort springen
  • Einfügen mit „p“
  • Mit „x“ ein Zeichen löschen
  • Usw

Kommen wir zum interessanten Teil, der Autovervollständigung und der interaktiven Hilfe.

Mit Bash können Sie einen Befehl automatisch vervollständigen, indem Sie zweimal die Tabulatortaste drücken. Dies wird mit ksh nicht in jeder Situation funktionieren. Wenn Sie Vi einrichten, können Sie stattdessen „Esc + \“ verwenden. Wenn Sie Emacs haben, führen Sie „Esc + Esc“ aus. Und wenn Sie alle Möglichkeiten für die aktuelle Situation sehen möchten, verwenden Sie „Esc + =“ mit Vi und Emacs. Daraufhin wird eine Liste mit Elementen angezeigt, aus denen Sie auswählen können.

Darüber hinaus ist der Befehlsverlauf weiterhin zugänglich. Mit der Vi-Schnittstelle können Sie mit der Taste „k“ im Verlauf nach oben und mit „j“ nach unten gehen. Und bewegen Sie den Cursor mit dem traditionellen „h“ für links und „l“ für rechts. Aus Emacs-Sicht: „Strg + p“, um im Verlauf nach oben zu gehen, und „Strg + n“, um nach unten zu gehen. Und um den Cursor zu bewegen: „Strg + f“ für rechts und „Strg + b“ für links.

Lassen Sie uns nun über die Skripterstellung sprechen. Für den Lambda-Benutzer ähnelt die Korn-Shell der Bash-Shell. Allerdings gibt es beim Schreiben von Skripten weitere Unterschiede hinsichtlich der Syntax.

  • Ersetzen "#! /bin/bash“ mit „#! /bin/ksh“ (das ist ziemlich offensichtlich, ich weiß)
  • Die Skripterweiterung sollte „.ksh“ sein.
  • Es gibt keine Befehle „enable“ oder „declare“ mehr
  • Sie können „print“ zusammen mit „echo“ verwenden
  • Verwenden Sie „-eq“ anstelle des traditionellen „==“ in den if-Anweisungen
  • Die Bedingungen für Schleifen und if-Anweisungen müssen in doppelten Klammern stehen.[[ condition]]”
  • Alle Vorkommen von „$[expression]„muss durch „$((Ausdruck))“ ersetzt werden
  • Funktionen können einfach mit „function_name()“ deklariert werden
  • Über die einzigartige Syntax kann eine Tabelle erstellt werden
    setze -A [table's name] [value 1] [value 2]  … [value n]
  • Der Befehl „lesen“ kann auf eine neue Art und Weise verwendet werden
    lesen [variable]?“[message to display]“

Sie sollten einige Nachforschungen anstellen, um diese geringfügigen Unterschiede zu vermeiden. Eine großartige Ressource ist die offizielle FAQ-Seite.

Abschluss

Wie Sie sehen können, sind Bash und Korn ziemlich ähnlich. Auch wenn die Benutzeroberfläche leicht abweichen kann und die Skripte in manchen Fällen angepasst werden müssen, bleibt der Geist derselbe. Es sollte Ihnen keine Probleme bereiten, von einem zum anderen zu gelangen. Wenn Sie dies jedoch tun, lade ich Sie ein, die Handbuchseite von ksh zu konsultieren. Als persönliche Herausforderung können Sie pdksh testen, das ich noch nicht ausprobiert habe, und Ihre Kommentare hier posten.

Ich denke, das ist es für die Korn Shell. Das nächste Mal werden wir Zsh Shell erkunden, die Shell mit der beeindruckendsten Autovervollständigungsfunktion, die ich bisher gesehen habe.

Was halten Sie von der Korn Shell? Hast du schon ein anderes probiert? Haben Sie Fragen zu den Muscheln? Bitte lassen Sie es uns in den Kommentaren wissen.

Index
  1. Geschichte
  2. Installation
  3. Verwendung
  4. Abschluss

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up