Dash et Bash sont deux shells, l'un est conçu pour les humains et l'autre est plus rapide.
Dash (Debian Almquist Shell):
Le shell par défaut sur Debian (6 et 7 au moins et d'autre distro dérivées).
Inconvénient : Il ne respecte pas les normes modernes et interactive (Exemple les raccourcis courant pour naviguer entre les commandes avec les touches claviers ou le clear screen (ctrl^l) ..etc).
L'avantage est qu'il est plus rapide dans le démarrage et l'exécution de scripts compatibles POSIX puisqu'il respecte les mêmes normes (POSIX): Le binaire a seulement 100K de taille par rapport à 900K de Bash.
Les scripts (déclarant sur l'entête que bash) seront exécutés sans problèmes avec ce dernier et pas avec Dash.
Bash (Bourne Again Shell):
Beaucoup plus de fonctionnalités et est particulièrement préférable quand il est utilisé de manière interactive (même si au final, il a les mêmes fonctionnalité que Dash).
Bash est généralement le log-in shell par défaut, tandis que Debian fournit Dash comme shell par défaut (en liant / bin/sh).
Bash est conçu pour "les êtres humains" et fournit un ensemble de fonctionnalités POSIX pour prendre en charge les mêmes commandes que Dash ainsi que ses propres commandes "bashistes" supplémentaires :-)
Bash prend en charge l'historique (histroy), accepte l'emploi de Dash pour l'exécution des scripts non-interactif.
Comment utiliser Bash au lieu de Dash ?
Je sais que vous préférerez Bash, c'est pour ça qu'il faut exécuter :
exec bashou faire un pointer DSHELL sur bash (avant de créer un user avec la commande adduser) dans le fichier /etc/adduser.conf
DSHELL=/bin/bashUne fois le user est crée, il aura bash comme shell par défaut à son log-in.
Photo via wallpoper.com