'''Almquist Shell''' is a minimal implementation of a POSIX shell, and also a replacement for compatible with::Bourne Shell. Almquist Shell has more features than Bourne Shell, but fewer features than most other shells. (No arrays!) Almquist Shell only implements POSIX features, plus a few BSD traditions, like its local command. Almquist Shell is the default shell, /bin/sh, of some systems.

If a script works with Almquist Shell, it will probably also work with bash, pdksh and zsh. Further, it will probably work with ksh93 ''unless'' it uses local, which ksh93 lacks.

Almquist Shell filled the need for a free shell to replace Bourne Shell. Kenneth Almquist posted [http://groups.google.com/group/comp.sources.unix/msg/2774e7653a8e6274 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.

Almquist variants

Ash has three major variants:

  • Debian Almquist Shell (Dash)
  • [http://svnweb.freebsd.org/base/head/bin/sh/ FreeBSD /bin/sh]
  • [http://cvsweb.netbsd.org/bsdweb.cgi/src/bin/sh/?only_with_tag=MAIN NetBSD /bin/sh]

All three variants have similar features. Dash can run on GNU/Linux.

Ash is also the shell provided by BusyBox.

See also

  • Almquist shell, Wikipedia's article
  • [http://www.in-ulm.de/~mascheck/various/ash/ Ash (Almquist Shell) Variants], a history of many Ash versions and their features