Bash vs. Dash

Författare: Laura McKinney
Skapelsedatum: 6 April 2021
Uppdatera Datum: 5 Maj 2024
Anonim
Dash Is The Only Acceptable Symlink For /bin/sh
Video: Dash Is The Only Acceptable Symlink For /bin/sh

Innehåll

Dash är ett skal som har dålig användbarhet med moderna standarder när det används som ett interaktivt inloggningsskal, men är snabbare när det gäller att utföra POSIX-kompatibla skript än Bash.Bash har många fler funktioner och är särskilt att föredra när de används interaktivt (även om det innehåller fler programmeringsfunktioner också). Bash tillhandahålls vanligtvis som det interaktiva standardskalet, medan Debian och Debian-derivat som Ubuntu tillhandahåller Dash som / bin / sh-implementering, vilket därmed orsakar skript med #! / Bin / sh-shebangs som tolkas av Dash snarare än Bash som standard. För skript som kräver Bash för exekvering kommer Bash fortfarande att användas som tolk om shebang är #! / Bin / bash. Ett stort antal skal-instanser startas som en del av Ubuntu-startprocessen. I stället för att ändra var och en av dem för att köra uttryckligen under / bin / bindestreck, en förändring som skulle kräva betydande pågående underhåll och som skulle kunna återta om det inte uppmärksammas, kände Ubuntu-kärnutvecklingsteamet att det var bäst att bara ändra standardskalet.


Innehåll: Skillnad mellan Bash och Dash

  • Vad är Bash?
  • Vad är Dash?
  • Viktiga skillnader
  • Förklaring av video

Vad är Bash?

Bash är Bourne-Again-skalet. Bash är ett utmärkt fullskal som är lämpligt för interaktiv användning; Det är faktiskt fortfarande standardinloggningsskalet. Bash är designad för människor och ger ett superset av POSIX-funktionalitet.

Vad är Dash?

Dash är Debian Almquist Shell. Dash implementerar Single Unix Spec, då behöver det inte göra mer för att uppfylla den formella specifikationen. Dash är för icke-interaktiv skriptkörning. Dash stöder endast POSIX-kompatibla funktioner.

Viktiga skillnader

  1. Bash är ett utmärkt fullskal som är lämpligt för interaktiv användning; Det är faktiskt fortfarande standardinloggningsskalet. Men det är ganska stort och långsamt att starta och använda i jämförelse med streck.
  2. Dash implementerar Single Unix Spec, då behöver det inte göra mer för att uppfylla den formella specifikationen. Men några av "basismerna" är praktiska, skulle ge lite till streckens storlek och skulle göra det mycket lättare att använda streck som ett alternativ.
  3. Många skalskript som innehåller kommandotsatsen –k stöds inte av bindestreck utan stöds av bash.
  4. Bash Stöder samma skriptkommandon som Dash och dess egna ytterligare kommandon, Dash Only stöder POSIX-kompatibla funktioner.
  5. Bash är designad för människor och tillhandahåller ett superset av POSIX-funktionalitet, Dash är för icke-interaktiv skriptkörning.
  6. Bash stöder färdigställande av flikar och stöder en kommandohistorik.
  7. Dash är bara 100 000 jämfört med Bashs 900K.
  8. Dash är för snabbare start och exekvering av skript jämfört med Bash.