Almquist shell
Cross-platform | |
---|---|
Type | Unix shell |
Website | www |
Almquist shell (also known as A Shell, ash and sh) is a lightweight
History
ash was first released via a posting to the
Fast, small, and virtually compatible[citation needed] with the POSIX standard's specification of the Unix shell, ash did not provide line editing or command history mechanisms, because Almquist felt that such functionality should be moved into the terminal driver. However, current variants support it.
The following is extracted from the ash package information from Slackware v14:
ash (Kenneth Almquist's ash shell)
A lightweight (92K) Bourne compatible shell. Great for machines with low memory, but does not provide all the extras of shells like
uses ash as its /bin/sh.
Myriad forks have been produced from the original ash release.
Dash
GNU GPL[5] | |
---|---|
Website | gondor |
In 1997 Herbert Xu ported ash
from NetBSD to Debian Linux. In September 2002, with release 0.4.1, this port was renamed to Dash (Debian Almquist shell). Xu's main priorities are POSIX conformance and slim implementation.[2]
Like its predecessor, Dash implements support for neither internationalization and localization nor multi-byte character encoding (both required in POSIX).[citation needed] Line editing and history support based on GNU Readline is optional (--with-libedit
).
Adoption in Debian and Ubuntu
Because of its slimness,
/bin/sh
in Debian 6 (Squeeze).[6]A result of the shift is that many
/bin/sh
too. As a result, all /bin/sh
scripts in Debian and Ubuntu are guaranteed to be POSIX-compliant, save for the extensions merged into Dash for convenience (local
, echo -n
, test -a / -o
).[12][13] A similar transition has happened in Slackware Linux, although their version of ash
is only partially based on Dash.[2]Embedded Linux
Ash (mainly the Dash fork) is also fairly popular in
See also
- Comparison of computer shells
References
- Rich Salz (ed.). "v19i001: A reimplementation of the System V shell, Part01/08". Usenetnewsgroup, comp.sources.unix.
- ^ a b c Mascheck, Sven. "Ash (Almquist Shell) Variants". www.in-ulm.de.
- ^ Thomas E. Dickey (2015). "TEST versus Portability". Retrieved March 1, 2020.
- ^ Elliott Hughes (2018-06-20). "Android's shell and utilities". Retrieved 2020-02-29.
- ^ Xu, Herbert. "COPYING". The Linux Kernel Archives. Retrieved 23 December 2023.
- ^ a b "Non-interactive Shell". Debian Wiki. 2020-01-13. Retrieved 2020-02-29.
- ^ UbuntuWiki. 2017-12-16. Retrieved 2020-02-29.
- ISBN 9781118080382.
- ISBN 9781118079140.
- ^ Egil Hasting (2006-09-20). "Script that are using bash could be broken with the new symlink". Launchpad. Retrieved 2020-02-29.
- ^ comotion (2007-09-21). "dash as #!/bin/sh introduces countless incompatibilities". Launchpad. Retrieved 2020-02-29.
- ^ "10. Files". Debian Policy Manual v4.5.0.2.
- ^ Linux General Commands Manual –