ash - Linux Command - Unix Command

The Almquist shell is common in embedded systems

The Almquist shell—invoked by the command ash—offers one of several different approaches to interacting with Linux through the text-based interface.

Hands of businesswoman typing on laptop in office
Sam Edwards / Getty Images

What Is Ash?

Ash first released in 1989 as a redevelopment of the System V.4 shell for Unix. It's one of the lightest shells for Linux. In 2002, developers ported Ash to Debian Linux, where—after some initial work cleaning it up and making it POSIX compliant—it became the Debian Almquist shell. Dash became the default shell for Debian-based distributions, a list that includes Ubuntu Linux.

Although Ubuntu uses Dash as the default /bin/sh, Ubuntu uses bash as the default shell for interactive sessions. Thus, when you open a shell session, you're working in Bash, not Ash or Dash.

So although, strictly, Ash is a Unix shell, its Dash port works for Debian-based Linux implementations ... where it's often just called ash.

What Uses Ash?

Ash serves as the default shell for some low-resource-optimized distributions including Alpine Linux and Tiny Core Linux. In addition, it's common in embedded systems including most of the open-source routers. DD-WRT and OpenWRT, for example, rely on Ash.

Using Ash in Linux

Although nothing precludes you from invoking ash, this shell isn't nearly as feature-complete as Bash, Zsh, and related modern shells. For example, it doesn't offer command completion, automatic suggestions, wildcard completion, syntax highlighting, syntax correction, progress indicators, and related bells-and-whistles.

For that reason, it's not recommended as a daily driver for desktop Linux.