Qu’est-ce que Dash Shell sous Linux ?

Dash est l’un des noms les moins connus quand on pense à la famille Shell. Mais Se précipiter n’est pas destiné à remplacer votre coque actuelle et fonctionne sous le capot.

Vous devez avoir de nombreuses questions liées à Dash, telles que son cas d’utilisation, en quoi il est différent de votre shell habituel, etc. Plongeons donc profondément dans Dash.

Qu’est-ce qu’une coque Dash ?

Dash signifie Debian Almquist Shell. Il s’agit d’une implémentation conforme à POSIX de Bourne Shell. Il remplace le /bin/sh dans les scripts par défaut et offre une meilleure vitesse d’exécution tout en consommant moins de ressources.

Si vous utilisez une distribution basée sur Debian, vous utilisez déjà Dash par défaut. Vous diriez que Bash est mon shell par défaut. Vous avez raison à propos de votre shell par défaut, alors laissez-moi vous expliquer cette déclaration contradictoire.

Avant la sortie d’Ubuntu 6.10, Bash était utilisé lorsque vos scripts par défaut voulaient exécuter /bin/sh comme lien symbolique pour provoquer bash.

Au fur et à mesure que bash grossissait avec le temps, l’efficacité était compromise et Dash a été implémenté pour remplacer /bin/sh dans les scripts par défaut.

Se précipiter (Coquille Debian Almquist) est moins complexe et léger que bash. Dash n’est pas destiné aux sessions interactives et fonctionne sous le capot pour une bien meilleure efficacité.

Voyons maintenant les avantages de Dash :

  • Vous obtenez des améliorations significatives des performances par rapport à bash
  • Il utilise moins d’espace disque par rapport aux autres shells, ce qui est important pour les scripts wrapper destinés aux nettoyages lorsque le problème sous-jacent existe.
  • Dash s’appuie uniquement sur libc (la bibliothèque centrale du système) alors que bash doit disposer de bibliothèques de support de terminal et sans elles, vous ne pouvez même pas exécuter de script. Cela signifie que Dash peut bien mieux fonctionner sur des systèmes en panne !

Comparaison des performances entre Dash et Bash

Comme je l’ai mentionné ci-dessus, le tiret est censé être efficace, mais quels sont les chiffres exacts ou combien de fois il est plus rapide ne peut être déduit que du test.

Je vais donc faire une comparaison entre bash et dash afin que vous puissiez avoir une meilleure idée de ses performances.

Tester les temps de démarrage

Je vais utiliser un simple script shell qui suivra l’heure exacte d’ouverture du shell 1000 fois sans qu’aucune opération ne soit effectuée.

Alors commençons par bash.

#!/bin/bash
for i in $(seq 1 1000);
do bash -c ":" ;
done

Pour suivre le temps, j’ai utilisé l’utilitaire de temps. Il m’a donné des résultats comme indiqué ci-dessous:

Exécution d’un test de référence pour bash

Le script utilisé invoquera bash pour exécuter un shell sans opération 1000 fois et cela a pris environ 3 secondes.

Maintenant, faisons la même chose pour le tiret. Avec les quelques modifications apportées au même script que ci-dessus, il sera prêt à être testé pour le tableau de bord.

#!/bin/dash
for i in $(seq 1 1000);
do dash -c ":" ;
done

Lorsque j’ai exécuté le script ci-dessus, cela m’a donné le résultat suivant:

Exécution d'un test de référence pour bash
Exécution d’un test de référence pour le tableau de bord

Le même script lorsqu’il est exécuté avec le tiret, il n’a fallu que 1,1 seconde qui est moins de la moitié de ce qu’il a fallu avec bash.

Test des performances à l’aide du script ShellBench

ShellBanc est un utilitaire de référence pour les shells POSIX et vous propose divers tests grâce auxquels vous pouvez tester les shells sur différents paramètres.

ShellBench exécute un ensemble donné de commandes dans une boucle infinie pendant 1 à 2 secondes, puis il renvoie le nombre d’exécutions/seconde.

Comme je ne teste qu’entre dash et bash, ma commande sera la suivante :

./shellbench -s bash,dash sample/*
Utiliser ShellBench pour comparer dash et bash
Utiliser ShellBench pour comparer dash et bash

Comme vous pouvez le voir clairement, le tableau de bord est de loin supérieur en termes de performances.

Conclusion

Dash surpasse bash en termes de performances mais ne peut pas être utilisé car il n’est pas fait pour l’interaction. Ubuntu utilise toujours bash comme shell de connexion et en dépend fortement car il manque encore à Dash certaines fonctionnalités nécessaires pour remplacer complètement bash.

5/5 - (1 vote)
SAKHRI Mohamed
SAKHRI Mohamed

Le blog d'un passionné d'informatique qui partage des actualités, des tutoriels, des astuces, des outils en ligne et des logiciels pour Windows, macOS, Linux, Web designer et jeux vidéo.

Publications: 3764

Laisser un commentaire

Your email address will not be published.