Bash vs. Dash

Schrijver: Laura McKinney
Datum Van Creatie: 6 April 2021
Updatedatum: 10 Kunnen 2024
Anonim
Dash Is The Only Acceptable Symlink For /bin/sh
Video: Dash Is The Only Acceptable Symlink For /bin/sh

Inhoud

Dash is een shell die volgens moderne normen slecht bruikbaar is bij gebruik als een interactieve inlogshell, maar sneller werkt met POSIX-compatibele scripts dan Bash.Bash heeft veel meer functies en verdient met name de voorkeur bij interactief gebruik (hoewel het wel bevat meer programmeerfuncties). Bash wordt meestal geleverd als de standaard interactieve shell, terwijl Debian en Debian-derivaten zoals Ubuntu Dash bieden als de / bin / sh-implementatie, waardoor scripts met #! / Bin / sh shebangs standaard door Dash worden geïnterpreteerd in plaats van Bash. Voor scripts die Bash nodig hebben voor uitvoering, zal Bash nog steeds worden gebruikt als de tolk als de shebang #! / Bin / bash is. Een groot aantal shell-instances wordt gestart als onderdeel van het Ubuntu-opstartproces. In plaats van elk van hen afzonderlijk te wijzigen om expliciet onder / bin / dash te draaien, een wijziging die aanzienlijk lopend onderhoud zou vereisen en die zou kunnen achteruitgaan als ze niet goed in de gaten zouden worden gehouden, vond het kernontwikkelteam van Ubuntu dat het het beste was om eenvoudig te veranderen de standaard shell.


Inhoud: Verschil tussen Bash en Dash

  • Wat is Bash?
  • Wat is Dash?
  • Belangrijkste verschillen
  • Video uitleg

Wat is Bash?

Bash is de Bourne-Again-shell. Bash is een uitstekende shell met volledige functionaliteit die geschikt is voor interactief gebruik; het is inderdaad nog steeds de standaard login shell. Bash is ontworpen voor mensen en biedt een superset van POSIX-functionaliteit.

Wat is Dash?

Dash is de Debian Almquist Shell. Dash implementeert de Single Unix Spec, dan hoeft het niet meer te doen om aan die formele spec te voldoen. Dash is voor niet-interactieve scriptuitvoering. Dash ondersteunt alleen POSIX-compatibele functies.

Belangrijkste verschillen

  1. Bash is een uitstekende shell met volledige functionaliteit die geschikt is voor interactief gebruik; het is inderdaad nog steeds de standaard login shell. Het is echter vrij groot en traag om op te starten en te werken in vergelijking met het dashboard.
  2. Dash implementeert de Single Unix Spec, dan hoeft het niet meer te doen om aan die formele spec te voldoen. Maar sommige van de "basismismen" zijn handig, zouden weinig toevoegen aan de grootte van het streepje en zouden het gemakkelijker maken om streepje als alternatief te gebruiken.
  3. Veel shell-scripts die de opdrachtset –k bevatten, worden niet ondersteund door dash maar ondersteund door bash.
  4. Bash Ondersteunt dezelfde scriptopdrachten als Dash en zijn eigen aanvullende opdrachten, Dash Only ondersteunt POSIX-compatibele functies.
  5. Bash is ontworpen voor mensen en biedt een superset van POSIX-functionaliteit, Dash is voor niet-interactieve scriptuitvoering.
  6. Bash ondersteunt het voltooien van tabbladen en ondersteunt een opdrachtgeschiedenis.
  7. Dash is slechts 100K vergeleken met Bash's 900K.
  8. Dash is voor sneller opstarten en scriptuitvoering in vergelijking met Bash.