Bash vs. Dash

Autore: Laura McKinney
Data Della Creazione: 6 Aprile 2021
Data Di Aggiornamento: 10 Maggio 2024
Anonim
Dash Is The Only Acceptable Symlink For /bin/sh
Video: Dash Is The Only Acceptable Symlink For /bin/sh

Contenuto

Dash è una shell che ha scarsa usabilità secondo gli standard moderni quando viene utilizzata come shell di accesso interattiva, ma è più veloce nell'esecuzione di script conformi a POSIX rispetto a Bash.Bash ha molte più funzioni ed è particolarmente preferibile se usato in modo interattivo (sebbene contenga più funzioni di programmazione). Bash viene generalmente fornito come shell interattiva predefinita, mentre i derivati ​​Debian e Debian come Ubuntu forniscono Dash come implementazione / bin / sh, facendo sì che gli script con #! / Bin / sh shebang vengano interpretati da Dash piuttosto che da Bash per impostazione predefinita. Per gli script che richiedono l'esecuzione di Bash, Bash verrà comunque utilizzato come interprete se lo shebang è #! / Bin / bash. Un gran numero di istanze della shell vengono avviate come parte del processo di avvio di Ubuntu. Anziché modificarli singolarmente per eseguire esplicitamente in / bin / dash, un cambiamento che richiederebbe una manutenzione in corso significativa e che potrebbe regredire se non prestasse molta attenzione, il team di sviluppo principale di Ubuntu ha ritenuto che fosse meglio semplicemente cambiare la shell predefinita.


Contenuto: differenza tra Bash e Dash

  • Che cos'è Bash?
  • Che cos'è Dash?
  • Differenze chiave
  • Spiegazione video

Che cos'è Bash?

Bash è la shell Bourne-Again. Bash è un'eccellente shell full-optional adatta per l'uso interattivo; in effetti, è ancora la shell di accesso predefinita. Bash è progettato per gli esseri umani e offre un superset di funzionalità POSIX.

Che cos'è Dash?

Dash è la Debian Almquist Shell. Dash implementa la specifica Unix singola, quindi non deve fare altro per soddisfare tale specifica formale. Dash è per l'esecuzione di script non interattivi. Dash supporta solo funzioni conformi a POSIX.

Differenze chiave

  1. Bash è un'eccellente shell full-optional adatta per l'uso interattivo; in effetti, è ancora la shell di accesso predefinita. Tuttavia, è piuttosto grande e lento da avviare e funzionare rispetto al trattino.
  2. Dash implementa la specifica Unix singola, quindi non deve fare altro per soddisfare tale specifica formale. Ma alcuni dei "bashismi" sono convenienti, aggiungerebbero poco alla dimensione del trattino e renderebbero molto più facile usare il trattino in alternativa.
  3. Molti script di shell che contengono il set di comandi –k non sono supportati da dash ma supportati da bash.
  4. Bash Supporta gli stessi comandi di scripting di Dash e i suoi comandi aggiuntivi, Dash supporta solo funzionalità conformi a POSIX.
  5. Bash è progettato per gli esseri umani e offre un superset di funzionalità POSIX, Dash è per l'esecuzione di script non interattivi.
  6. Bash supporta il completamento delle schede e supporta una cronologia dei comandi.
  7. Dash è solo 100K rispetto ai 900K di Bash.
  8. Dash è per l'avvio più rapido e l'esecuzione degli script rispetto a Bash.