Bash vs Dash

Auteur: Laura McKinney
Date De Création: 6 Avril 2021
Date De Mise À Jour: 16 Peut 2024
Anonim
Dash Is The Only Acceptable Symlink For /bin/sh
Vidéo: Dash Is The Only Acceptable Symlink For /bin/sh

Contenu

Dash est un shell peu utilisable selon les normes modernes lorsqu'il est utilisé comme un login interactif, mais il est plus rapide à exécuter des scripts compatibles POSIX que Bash.Bash a beaucoup plus de fonctionnalités et est particulièrement préférable lorsqu'il est utilisé de manière interactive (bien qu'il contienne plus de fonctionnalités de programmation aussi). Bash est généralement fourni en tant que shell interactif par défaut, tandis que Debian et ses dérivés comme Ubuntu fournissent Dash en tant qu'implémentation / bin / sh, ce qui entraîne l'interprétation des scripts avec #! / Bin / sh shebangs par Dash plutôt que Bash par défaut. Pour les scripts qui nécessitent l'exécution de Bash, Bash sera toujours utilisé comme interprète si shebang est #! / Bin / bash. Un grand nombre d'instances de shell sont démarrées dans le cadre du processus de démarrage d'Ubuntu. Plutôt que de modifier chaque élément individuellement pour qu'il s'exécute explicitement sous / bin / dash, un changement qui nécessiterait une maintenance continue importante et qui risquerait de régresser s'il ne faisait pas l'objet d'une attention particulière, l'équipe de développement principale d'Ubuntu a estimé qu'il était préférable de changer simplement. le shell par défaut.


Contenu: Différence entre Bash et Dash

  • Qu'est ce que Bash?
  • Qu'est-ce que Dash?
  • Différences Clés
  • Explication vidéo

Qu'est ce que Bash?

Bash est le shell Bourne-Again. Bash est un excellent shell complet convenant à une utilisation interactive. En effet, c'est toujours le shell de connexion par défaut. Bash est conçu pour les êtres humains et fournit un sur-ensemble de fonctionnalités POSIX.

Qu'est-ce que Dash?

Dash est le shell Debian Almquist. Dash implémente la spécification Single Unix, il n’a donc pas à en faire plus pour respecter cette spécification formelle. Dash est destiné à l'exécution de script non interactive. Dash Only prend en charge les fonctionnalités compatibles POSIX.


Différences Clés

  1. Bash est un excellent shell complet convenant à une utilisation interactive. En effet, c'est toujours le shell de connexion par défaut. Cependant, son démarrage et son fonctionnement sont plutôt volumineux et lents par rapport à dash.
  2. Dash implémente la spécification Single Unix, il n’a donc pas à en faire plus pour respecter cette spécification formelle. Mais certains des «bashismes» sont pratiques, ajouteraient peu à la taille du tableau de bord et rendraient beaucoup plus facile l’utilisation du tableau de bord comme alternative.
  3. Un grand nombre de scripts de shell contenant la commande set -k ne sont pas pris en charge par dash, mais par bash.
  4. Bash Prend en charge les mêmes commandes de script que Dash, ainsi que ses propres commandes supplémentaires. Dash Only prend en charge les fonctionnalités compatibles POSIX.
  5. Bash est conçu pour les êtres humains et fournit un sur-ensemble de fonctionnalités POSIX. Dash est destiné à l'exécution de scripts non interactive.
  6. Bash prend en charge la complétion des onglets et prend en charge un historique des commandes.
  7. Dash n’est que 100K par rapport aux 900K de Bash.
  8. Dash est conçu pour un démarrage et une exécution de script plus rapides par rapport à Bash.