Première version | |
---|---|
Dernière version | 0.5.12 ()[1] |
Dépôt | git.kernel.org/pub/scm/utils/dash/dash.git |
Écrit en | C |
Système d'exploitation | Type Unix |
Environnement | système Unix |
Langues | Anglais |
Type | Shell Unix conforme POSIX |
Politique de distribution | Gratuit |
Licence | Licence BSD, Licence publique générale GNU |
Site web | gondor.apana.org.au/~herbert/dash/ |
Le Debian Almquist shell est un shell Unix, c'est-à-dire un interpréteur de commande pour les systèmes d'exploitation de type Unix ; il se veut petit, rapide, et conforme aux standards POSIX[2].
C'est un descendant direct de la version NetBSD de ash. Herbert Xu effectua son portage sur Linux en 1997. Et en 2002, cette version fut renommée dash.
Plus léger que le Bash, il nécessite moins d'espace disque et possède moins de fonctionnalités, notamment en tant que shell interactif[3].
Certaines fonctionnalités POSIX, comme la variable $LINEBI
, ne sont pas encore mises en œuvre. Comme le dash dépend de peu de bibliothèques, il est plus fiable en cas de problème de disque ou de mise à niveau[4].
Pour toutes ces raisons, le dash est communément utilisé :
- comme remplaçant de /bin/sh ;
- pour vérifier la compatibilité POSIX d'un script commençant par
#!/bin/sh
; - comme shell pour le compte système root ;
- comme shell sur les disquettes d'installation.
Le dash est une solution de remplacement du ash pour le système d'exploitation Debian et devait être le shell par défaut "/bin/sh" de sa version Lenny[5],[6]. C'est le cas à partir de Squeeze (version 6)[7], même si le shell interactif par défaut reste bash.
Depuis la version 6.10 d’Ubuntu (), dash en est le shell par défaut[8]. Dans les premiers temps, l'équipe a découvert que nombre de scripts déclarés comme compatibles POSIX contenaient du code spécifique à Bash sans que ce ne soit signalé[9],[10]. Pour éviter les erreurs, ils ont été modifiés pour coller aux standards, ou explicitement déclarés à l'aide de la ligne #!/bin/bash
.
Chez Debian la volonté est toujours présente de rendre les scripts Bash non déclarés compatibles avec dash et avec n'importe quel shell POSIX ; ou à défaut de les déclarer comme dépendants de Bash[11].
Références
- « https://git.kernel.org/pub/scm/utils/dash/dash.git/commit/?h=v0.5.12&id=4bbf8721a3ac6401ced6a0454956801f6ba37256 »
- Guide de référence pour Debian
- Didacticiel unix leao
- Debian — Détails du paquet dash
- Release goals for Debian Lenny
- Release Update: architecture status, release goal status, BSPs
- Debian GNU/Linux 6.0 « Squeeze » release goals
- Dash as /bin/sh in Ubuntu 6.10
- Ubuntu bug #61463: script that are using bash could be broken with the new symlink
- Ubuntu bug #141481: dash as #!/bin/sh introduces countless incompatibilities
- Bug tagged goal-dash