Bash vs. Dash

Autor: Laura McKinney
Data Utworzenia: 6 Kwiecień 2021
Data Aktualizacji: 15 Móc 2024
Anonim
Terminal vs. Bash vs. Command line vs. Prompt
Wideo: Terminal vs. Bash vs. Command line vs. Prompt

Zawartość

Dash jest powłoką, która ma słabą użyteczność według współczesnych standardów, gdy jest używana jako interaktywna powłoka logowania, ale jest szybsza w wykonywaniu skryptów zgodnych z POSIX niż Bash. Bash ma o wiele więcej funkcji i jest szczególnie preferowany, gdy jest używany interaktywnie (chociaż zawiera więcej funkcji programowania). Bash jest zazwyczaj dostarczany jako domyślna powłoka interaktywna, podczas gdy Debian i pochodne Debiana, takie jak Ubuntu, zapewniają Dash jako implementację / bin / sh, powodując w ten sposób, że skrypty z shebangami #! / Bin / sh są interpretowane przez Dasha zamiast domyślnie Bash. W skryptach wymagających Bash do wykonania, Bash nadal będzie używany jako interpreter, jeśli shebang to #! / Bin / bash. Wiele instancji powłoki jest uruchamianych jako część procesu rozruchowego Ubuntu. Zamiast zmieniać każdy z nich osobno, aby działał jawnie pod / bin / dash, zmiana wymagająca znacznej ciągłej konserwacji i która podlegałaby regresji, jeśli nie byłaby uważnie obserwowana, zespół deweloperów Ubuntu uznał, że najlepiej po prostu zmienić domyślna powłoka.


Spis treści: Różnica między Bash a Dash

  • Co to jest Bash?
  • Co to jest Dash?
  • Kluczowe różnice
  • Wyjaśnienie wideo

Co to jest Bash?

Bash jest powłoką Bourne-Again. Bash to doskonała, w pełni funkcjonalna powłoka odpowiednia do użytku interaktywnego; w rzeczywistości jest to nadal domyślna powłoka logowania. Bash jest przeznaczony dla ludzi i zapewnia nadzór funkcjonalności POSIX.

Co to jest Dash?

Dash jest skorupą Almquist Debiana. Dash implementuje specyfikację Single Unix, więc nie musi robić więcej, aby spełnić tę formalną specyfikację. Dash służy do nieinteraktywnego wykonywania skryptu. Dash obsługuje tylko funkcje zgodne z POSIX.

Kluczowe różnice

  1. Bash to doskonała, w pełni funkcjonalna powłoka odpowiednia do użytku interaktywnego; w rzeczywistości jest to nadal domyślna powłoka logowania. Jednak uruchomienie i działanie jest dość duże i wolne w porównaniu z deską rozdzielczą.
  2. Dash implementuje specyfikację Single Unix, więc nie musi robić więcej, aby spełnić tę formalną specyfikację. Ale niektóre z „baszizmów” są wygodne, niewiele zwiększyłyby rozmiar myślnika i znacznie ułatwiłyby użycie myślnika jako alternatywy.
  3. Wiele skryptów powłoki zawierających zestaw poleceń –k nie jest obsługiwanych przez myślnik, ale przez bash.
  4. Bash Obsługuje te same polecenia skryptowe co Dash, a także własne dodatkowe polecenia, Dash obsługuje tylko funkcje zgodne z POSIX.
  5. Bash jest przeznaczony dla ludzi i zapewnia nadzór funkcjonalności POSIX, Dash jest przeznaczony do nieinteraktywnego wykonywania skryptów.
  6. Bash obsługuje uzupełnianie tabulatorów i obsługuje historię poleceń.
  7. Dash to tylko 100 000 w porównaniu do 900 000 Basha.
  8. Dash służy do szybszego uruchamiania i wykonywania skryptów w porównaniu do Bash.