⚠️ Warning: This is a draft ⚠️

This means it might contain formatting issues, incorrect code, conceptual problems, or other severe issues.

If you want to help to improve and eventually enable this page, please fork RosettaGit's repository and open a merge request on GitHub.

{{implementation|UNIX Shell}} '''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 ==

  • [[wp:Almquist shell|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