Bash vs. Dash

Autor: Laura McKinney
Erstelldatum: 6 April 2021
Aktualisierungsdatum: 12 Kann 2024
Anonim
Dash Is The Only Acceptable Symlink For /bin/sh
Video: Dash Is The Only Acceptable Symlink For /bin/sh

Inhalt

Dash ist eine Shell, die nach modernen Maßstäben als interaktive Anmeldeshell schlecht verwendbar ist, POSIX-kompatible Skripte jedoch schneller ausführt als Bash.Bash verfügt über viel mehr Funktionen und ist besonders bei interaktiver Verwendung zu bevorzugen (obwohl es enthält) weitere Programmierfunktionen). Bash wird normalerweise als standardmäßige interaktive Shell bereitgestellt, während Debian und Debian-Derivate wie Ubuntu Dash als / bin / sh-Implementierung bereitstellen, wodurch Skripte mit #! / Bin / sh-Shebangs standardmäßig von Dash und nicht von Bash interpretiert werden. Bei Skripten, für deren Ausführung Bash erforderlich ist, wird Bash weiterhin als Interpreter verwendet, wenn der Shebang #! / Bin / bash lautet. Eine große Anzahl von Shell-Instanzen wird im Rahmen des Ubuntu-Startvorgangs gestartet. Anstatt sie einzeln zu ändern, damit sie explizit unter / bin / dash ausgeführt werden, eine Änderung, die erhebliche laufende Wartung erfordert und die sich möglicherweise verschlechtert, wenn sie nicht genau beachtet wird, war das Kernentwicklungsteam von Ubuntu der Ansicht, dass es am besten ist, sie einfach zu ändern die Standard-Shell.


Inhalt: Unterschied zwischen Bash und Dash

  • Was ist Bash?
  • Was ist Dash?
  • Hauptunterschiede
  • Video Erklärung

Was ist Bash?

Bash ist die Bourne-Again-Shell. Bash ist eine hervorragende Shell mit vollem Funktionsumfang, die für den interaktiven Gebrauch geeignet ist. In der Tat ist es immer noch die Standard-Login-Shell. Bash wurde für Menschen entwickelt und bietet eine Reihe von POSIX-Funktionen.

Was ist Dash?

Dash ist die Debian-Almquist-Shell. Dash implementiert die Single Unix Spec, muss dann aber nicht mehr tun, um diese formale Spezifikation zu erfüllen. Dash ist für die nicht interaktive Skriptausführung vorgesehen. Dash Only unterstützt POSIX-kompatible Funktionen.

Hauptunterschiede

  1. Bash ist eine hervorragende Shell mit vollem Funktionsumfang, die für den interaktiven Gebrauch geeignet ist. In der Tat ist es immer noch die Standard-Login-Shell. Es ist jedoch im Vergleich zum Armaturenbrett ziemlich groß und langsam in Betrieb zu nehmen und zu betreiben.
  2. Dash implementiert die Single Unix Spec, muss dann aber nicht mehr tun, um diese formale Spezifikation zu erfüllen. Aber einige der "Bashismen" sind praktisch, würden die Größe des Strichs nur geringfügig erhöhen und es viel einfacher machen, den Strich als Alternative zu verwenden.
  3. Viele Shell-Skripte, die den Befehlssatz –k enthalten, werden nicht von dash, sondern von bash unterstützt.
  4. Bash Unterstützt dieselben Skriptbefehle wie Dash sowie eigene zusätzliche Befehle. Dash Only unterstützt POSIX-kompatible Funktionen.
  5. Bash wurde für Menschen entwickelt und bietet eine Reihe von POSIX-Funktionen. Dash ist für die nicht interaktive Skriptausführung vorgesehen.
  6. Bash unterstützt das Vervollständigen von Registerkarten und das Erstellen eines Befehlsverlaufs.
  7. Dash ist nur 100.000 im Vergleich zu Bashs 900.000.
  8. Dash ist für einen schnelleren Start und eine schnellere Skriptausführung im Vergleich zu Bash vorgesehen.