Almquist Shell is a minimal implementation of an almost-POSIX shell, and also a replacement for Bourne Shell. Almquist Shell has more features than. the original Bourne Shell, but fewer features than most other shells. (No arrays!) Almquist Shell only implements POSIX features, plus a few BSD traditions, like
local variables in functions. Almquist Shell is the default shell,
/bin/sh, of some systems. It does not have any of the internationalization/localization or multi-byte character encoding support required by the POSIX standard, so it is not technically a POSIX-compliant shell, but since it lacks most non-POSIX features, it is helpful in validating that #!/bin/sh scripts are not dependent upon such features.
Almquist Shell filled the need for a free shell to replace Bourne Shell. Kenneth Almquist posted the first version of Ash to Usenet group comp.sources.unix at 30 May 1989. It was a clone of SVR3 Bourne Shell. BSD used Ash for
/bin/sh, added features from POSIX, and put a Berkeley copyright on this shell.
Ash has three major variants:
- Debian Almquist Shell (Dash), which adds support for echo -n and test -a/-o
- FreeBSD /bin/sh
- NetBSD /bin/sh
All three variants have similar features. Dash can run on GNU/Linux.
Ash is also the shell provided by BusyBox.