Bash vs. Dash

Autor: Laura McKinney
Data Creației: 6 Aprilie 2021
Data Actualizării: 14 Mai 2024
Anonim
Dash Is The Only Acceptable Symlink For /bin/sh
Video: Dash Is The Only Acceptable Symlink For /bin/sh

Conţinut

Dash este un shell care are o utilizabilitate slabă de către standardele moderne atunci când este utilizat ca un shell de logare interactiv, dar este mai rapid în executarea scripturilor compatibile cu POSIX decât Bash.Bash are mai multe caracteristici și este deosebit de preferat atunci când este utilizat în mod interactiv (deși conține mai multe caracteristici de programare). Bash este furnizat în mod obișnuit ca un shell interactiv implicit, în timp ce derivatele Debian și Debian precum Ubuntu furnizează Dash ca implementare / bin / sh, determinând astfel ca scripturile cu shebangs #! / Bin / sh să fie interpretate de Dash, mai degrabă decât Bash în mod implicit. Pentru scripturile care necesită execuție Bash, Bash va fi folosit în continuare ca interpret dacă shebang este #! / Bin / bash. Un număr mare de instanțe shell sunt pornite ca parte a procesului de pornire Ubuntu. În loc să schimbe fiecare dintre ele individual pentru a rula în mod explicit sub / bin / dash, o schimbare care ar necesita o întreținere semnificativă în curs de desfășurare și care ar putea fi regresată dacă nu este acordată o atenție deosebită, echipa de dezvoltare de bază a Ubuntu a considerat că este cel mai bine să se schimbe pur și simplu. coaja implicită.


Cuprins: Diferența dintre Bash și Dash

  • Ce este Bash?
  • Ce este Dash?
  • Diferențele cheie
  • Explicație video

Ce este Bash?

Bash este coaja Bourne-Again. Bash este o coajă excelentă cu caracteristici complete, adecvată utilizării interactive; într-adevăr, este încă shell-ul de conectare implicit. Bash este conceput pentru ființe umane și oferă un superset al funcționalității POSIX.

Ce este Dash?

Dash este Debian Almquist Shell. Dash implementează specificația Unix Unix, atunci nu trebuie să facă mai mult pentru a îndeplini specificația respectivă. Dash este pentru executarea script-ului non-interactiv. Dash acceptă numai funcțiile POSIX conforme.

Diferențele cheie

  1. Bash este o coajă excelentă cu caracteristici complete, adecvată utilizării interactive; într-adevăr, este încă shell-ul de conectare implicit. Cu toate acestea, este destul de mare și lent să pornească și să funcționeze prin comparație cu liniuța.
  2. Dash implementează specificația Unix Unix, atunci nu trebuie să facă mai mult pentru a îndeplini specificația respectivă. Însă unele dintre „bazisme” sunt convenabile, ar adăuga puțin dimensiunii liniei și ar face mult mai ușor să folosești liniuța ca alternativă.
  3. O mulțime de scripturi shell care conțin setul de comandă - k nu sunt acceptate de dash, ci sunt acceptate de bash.
  4. Bash Suporta aceleași comenzi de script ca Dash, precum și propriile sale comenzi suplimentare, Dash Only acceptă caracteristici compatibile cu POSIX.
  5. Bash este conceput pentru ființe umane și oferă un superset al funcționalității POSIX, Dash este pentru executarea scriptului non-interactiv.
  6. Bash acceptă completarea filei și acceptă istoricul comenzilor.
  7. Dash este doar 100K în comparație cu 900K de Bash.
  8. Dash este pentru pornirea mai rapidă și execuția scriptului în comparație cu Bash.