The Debian Almquist Shell

Dash started life in 1989 as the Almquist Shell (ash), written by Kenneth Almquist. It was ported for the Debian project in 1999 by Herbert Xu as the Debian Almquist Shell (dash). Like bash, it aims for POSIX compliance, but unlike bash, it tries nothing more; it aims only to be a POSIX-compliant shell. This makes it smaller, lighter, and faster than bash. It therefore replaces bash as the default /bin/sh in many GNU/Linux distributions, which generally retain bash for interactive use, using dash for system scripts, particularly startup scripts.

The longstanding availability of bash as /bin/sh on GNU/Linux caused some problems when migrating to dash, as a lot of system scripts called /bin/sh as their interpreter but expected to be able to use features of bash. The site https://bugs.launchpad.net/ubuntu/+source/dash/+bug/61463 provides a list of many of the problems experienced when Ubuntu 6.10 moved from bash to dash as the default /bin/sh in 2006.

Get Shell Scripting: Expert Recipes for Linux, Bash, and More now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.