Debian Almquist shell
Repository | |
---|---|
Type | POSIX-compliant Unix shell |
License | BSD license, GNU General Public License |
Website | http://gondor.apana.org.au/~herbert/dash/ |
Debian Almquist shell (dash) is a Unix shell, much smaller than bash but still aiming at POSIX-compliancy. It requires less disk space but is also less feature-rich. Some missing features, such as the $LINENO
variable [1], are required by POSIX.
Dash is a direct descendant of the NetBSD version of the Almquist Shell (ash). It was ported to Linux by Herbert Xu in early 1997. It was renamed to dash in 2002.
Dash, like ash, executes shell scripts faster than bash and depends on fewer libraries. It is believed[1] to be more reliable in the case of upgrade problems or disk failures. dash may be used as a:
- shell on installation floppy disks
- root user shell
- /bin/sh replacement
- testing environment for shell scripts to verify their compatibility with POSIX syntax
Dash is a modern replacement for ash in Debian and was expected to be the default /bin/sh for Debian Lenny.[2][3] Dash has been the default /bin/sh in Ubuntu since the 6.10 release in October 2006.[4] During the transition by Ubuntu, numerous scripts making use of Bash-specific functionality (but not declaring it) were discovered.[5][6] To avoid errors, Bash-specific scripts were modified to be compatible with the appropriate standard, or explicitly declared their use of "bashisms" with the shebang line: #!/bin/bash
.
References
- ^ http://packages.debian.org/etch/dash
- ^ Release goals for Debian Lenny
- ^ Release Update: architecture status, release goal status, BSPs
- ^ 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
External links
- Dash home
- Debian package overview
- Debian bugs tagged goal-dash
- Dash as default /bin/sh in Debian, Ubuntu
- Dash mailing list archive
- Shells in Debian