Vergleiche SH Shell vs. Verprügeln

Vergleiche SH Shell vs. Verprügeln
Jedes modernes Unix/Linux -Betriebssystem wird mit dem geliefert Sch und die standardmäßigen Bash -Shells installiert. Während beide in der Natur sehr ähnlich sind, bietet man mehr als der andere.

Dieser Leitfaden wird tief in die Unterschiede und Ähnlichkeiten zwischen dem eintauchen Sch und die Bash -Muscheln.

Linux Shell

In Linux ist eine Shell ein spezielles Programm zur Befehlsinterpretation. Es interpretiert die Befehlssprache und fordert das System auf, die beschriebenen Aufgaben auszuführen. Es ist nicht Teil des Kernels, sondern kann Aufgaben ausführen, z. B. Programme ausführen und Dateien erstellen.

Die Funktionalität einer Hülle wird mit einem Beispiel besser verstanden. Öffnen Sie das Terminal in Ihrem System und führen Sie den folgenden Befehl aus:

$ Datum

Hier haben wir Folgendes festgestellt:

  • Die Standardhülle übernahm den Befehl "Date", interpretierte und führte das aus Datum Werkzeug.
  • Es druckte auch die Ausgabe auf dem Konsolenbildschirm.

Muscheln können auch mit ihren eigenen Sprachen kommen. Bash Scripting zum Beispiel ist wirksam bei der Automatisierung von sehr komplexen Aufgaben und zum Erreichen von Wundern.

Für die Linux -Plattform stehen viele Shells zur Verfügung. Offensichtlich ist die beliebteste die Bash -Shell. Hier sind einige alternative Shells, die es wert sind, es zu überprüfen:

  • ZSH mit Oh mein ZSH
  • Fischschale

Die Bourne Shell (SH)

Die Bourne Shell ist die Standardschale für Version 7 Unix. Ursprünglich von Stephen Bourne in Bell Labs entwickelt, war es ein Ersatz für die Thompson Shell. Die Bourne Shell begann ihre Reise im Jahr 1979. Erfahren Sie mehr über die Geschichte der Bourne Shell über Wikipedia.

Sogar bis heute ist die Bourne Shell auf fast allen Linux -Systemen erhältlich. Der Ort der Binärdatei lautet wie folgt:

$ was Sh

Unix-ähnliche Systeme haben weiterhin Bourne Shell bei /usr/bin/sh. Es ist vielleicht nicht die Bourne -Shell, sondern eine symbolische/harte Verbindung zu einer kompatibleren Schale. Sie können es überprüfen, indem Sie den folgenden Befehl ausführen:

$ Datei -h /bin /sh

Der Sch Shell ist auch der Name der Befehlsprogrammiersprache. Diese Sprache wird von POSIX-Standard beschrieben, dass alle Unix- und Unix-ähnlichen Systeme folgen müssen. Die Bourne Shell, die wir bisher besprochen haben, ist eine Implementierung von Sch.

Die Bourne wieder Shell (Bash)

Jetzt sind wir zur modernen Hülle gekommen, die wir alle kennen und lieben - die Bash -Shell, auch bekannt als „Bourne Again Shell“.Das Benennen ist ein Wortspiel, das angibt, dass es die Bourne -Shell ersetzt.

Bash wurde von Brian Fox für das GNU -Projekt entwickelt und ist sowohl eine Unix -Shell als auch eine Befehlssprache. Es wurde erstmals 1989 veröffentlicht. Seitdem war es die Standard -Login -Shell für die meisten Linux -Distribos. Erfahren Sie mehr über die Geschichte der Bash Shell auf Wikipedia.

Bash ist ein Superset von Sch, Das heißt, es enthält Funktionen von Sch und noch mehr. Als Sprache tun die meisten Befehle das Gleiche wie Sch. Jedoch, Verprügeln Ist keine posix-konforme Hülle, sondern ein Dialekt der Possix-Shell-Sprache. Bash soll die konformante Implementierung der IEEE POSIX -Shell- und Tools -Teil der IEEE -POSIX -Spezifikation sein (IEEE Standard 1003.1).

Überprüfen Sie die Position der Bash Shell Binary:

$ welche verprügeln

Unterschiede zwischen SH und Bash

Stellte den historischen Kontext vor, Sch und Bash teilen mehr Ähnlichkeiten als Unterschiede, da eine eine bessere Umsetzung der anderen ist. Unabhängig davon gibt es einige merkliche Merkmalsunterschiede, die man wissen sollte.

Standardschale

In den meisten heutigen modernen Systemen ist Bash die Standardschale.

Binärer Ort

Überprüfen Sie die binäre Position beider Shells:

$ was Sh
$ welche verprügeln

Besonderheit

Im Vergleich zu Sch, Bash bietet weitaus mehr Flexibilität und Syntax, die wie eine moderne Programmiersprache aussehen. Hier sind einige zusätzliche Funktionen, die Bash über bietet Sch:

  • Bash unterstützt die Fertigstellung der Befehlszeile mit dem TAB Taste
  • Durchsuchen Sie den Befehlsverlauf, indem Sie die verwenden HOCH Pfeilschlüssel oder "Strg + R"
  • Arithmetische Berechnung ohne Werkzeuge von Drittanbietern
  • Assoziative Arrays
  • Tastatürkürzel
  • Anpassungsunterstützung für die Standard -Bash -Präsentation
  • Epochsekunden und Epochrealtime -Umgebungsvariablen
  • Ausdehnung der Klammer

POSIX Compliance

Standardmäßig ist Bash nicht posix konform, während Sch Ist. Mit dem folgenden Befehl können wir jedoch im POSIX -konformen Modus einen Bash ausführen:

$ bash -posix

Wenn Sie ein Bash -Skript schreiben, aber den POSIX -Standard benötigen, verwenden Sie den folgenden Code zu Beginn:

#!/Bin/Bash
set -o posix

Hier das Satz Der Befehl fordert Bash an, den POSIX -Modus zu aktivieren.

Benutzerfreundlichkeit

Bash bietet eine modernere Befehlszeilensprache im Vergleich zu Sch. In dieser Hinsicht haben Sie eine komfortablere Zeit mit Bash mit Bash.

Portabilität

Im Vergleich zu Bash, Sch bietet eine bessere Portabilität.

Weil Sch ist posix konform, jede Hülle, die POSIX unterstützt Sch Skripte. Zum Beispiel kann Bash laufen Sch Skripte im POSIX -Modus.

Scripting

Wenn Sie ein Skript in Bash schreiben, ist der Code nur garantiert mit Bash kompatibel.

Andererseits beim Scripting in Sch, Der Code kann auf jeder Shell ausgeführt werden. Es ist, weil Sch Definiert die ursprüngliche Shell -Skriptsprache.

Abschluss

In diesem Artikel haben wir die Geschichte, Ähnlichkeiten und Unterschiede zwischen untersucht Sch und verprügeln. Sch ist der Vorgänger von Bash. Beide sind auf allen modernen Unix/Linux -Systemen erhältlich. Während Bash ein komfortableres und benutzerfreundlicheres Erlebnis bietet, Sch Bietet Kompatibilität, Portabilität und standardisierte Syntax/Verhalten.

Sind Sie neu, um das Skript zu verprügeln? Dieses Bash -Skript -Tutorial für Anfänger deckt alles ab, um Ihre Bash -Skripte zu schreiben. Wir hoffen, Sie haben diesen Artikel hilfreich gefunden. Weitere Tipps und Tutorials finden Sie in anderen Linux -Hinweisartikeln.