Bash vs. Dash
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
- 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.
- 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.
- Molti script di shell che contengono il set di comandi –k non sono supportati da dash ma supportati da bash.
- Bash Supporta gli stessi comandi di scripting di Dash e i suoi comandi aggiuntivi, Dash supporta solo funzionalità conformi a POSIX.
- Bash è progettato per gli esseri umani e offre un superset di funzionalità POSIX, Dash è per l'esecuzione di script non interattivi.
- Bash supporta il completamento delle schede e supporta una cronologia dei comandi.
- Dash è solo 100K rispetto ai 900K di Bash.
- Dash è per l'avvio più rapido e l'esecuzione degli script rispetto a Bash.