O Almquist shell (também conhecido como A Shell, ash e sh) é um shell Unix leve originalmente escrito por Kenneth Almquist no final da década de 1980. Inicialmente um clone da variante System V.4 do Bourne shell, ele substituiu o Bourne shell original nas versões do BSD do Unix lançadas no início dos anos 1990.

História O ash foi lançado pela primeira vez através de uma postagem no grupo de notícias Usenet , aprovada e moderada por Rich Salz em 30 de maio de 1989. Ele foi descrito como "uma reimplementação do shell System V com a maioria dos recursos desse shell, além de algumas adições".

Rápido, pequeno e virtualmente compatível com a especificação POSIX do shell Unix, o ash não fornecia mecanismos de editor de linha ou histórico de comandos, pois Almquist acreditava que essa funcionalidade deveria ser movida para o driver do terminal. No entanto, variantes modernas oferecem esse suporte.

A seguir, um trecho extraído das informações do pacote ash no Slackware v14:

Diversos forks foram criados a partir da versão original do ash. Essas derivações do ash são instaladas como shell padrão (/bin/sh) no FreeBSD, NetBSD, DragonFly BSD, MINIX, e em algumas distribuições Linux. O MINIX 3.2 usava a versão original do ash, cujo recurso test diferia do POSIX. Essa versão do shell foi substituída no MINIX 3.3. O Android usou o ash até o Android 4.0, quando foi substituído pelo mksh.

Dash

Em 1997, Herbert Xu portou o ash do NetBSD para o Debian Linux. Em setembro de 2002, com o lançamento da versão 0.4.1, esse port foi renomeado para Dash (Debian Almquist shell). As principais prioridades de Xu são a conformidade com o POSIX e a implementação enxuta.

Como seu predecessor, o Dash não implementa suporte para internacionalização e tradução nem para codificação de caracteres de largura variável (ambos exigidos pelo POSIX). O suporte a edição de linha e histórico baseado no GNU Readline é opcional ().

Adoção no Debian e Ubuntu Devido à sua leveza, o Ubuntu decidiu adotar o Dash como padrão para /bin/sh em 2006. O motivo foi a execução mais rápida de script shell, especialmente durante a inicialização do sistema operacional.

O Dash se tornou o padrão /bin/sh no Ubuntu a partir da versão 6.10, lançada em outubro de 2006. No Debian, o Dash substituiu o Bash como /bin/sh a partir da versão 6 (Squeeze), lançada em fevereiro de 2011.

Linux embarcado Ash (principalmente o fork do Dash) também é bastante popular em sistemas Linux embarcados. A versão 0.3.8-5 do Dash foi incorporada ao BusyBox, o executável catch-all frequentemente empregado nessa área, e é usado em distribuições como DSLinux, Alpine Linux, Tiny Core Linux e firmware de roteadores baseados em Linux, como OpenWrt, Tomato e DD-WRT. Muitos fornecedores de sistemas comerciais também o incluem, porque ele não é GPL-Ware, mas tem uma licença que o permite, por exemplo, no Sophos XGs, ele é enganosamente chamado de "Advanced Shell".

Referências

Ligações externas

dash(1) – Linux User Manual – User Commands dash(1) – Debian General Commands Manual dash(1) – FreeBSD General Commands Manual sh(1) – NetBSD General Commands Manual

Categoria:Software de 1989 Categoria:Software livre programado em C Categoria:Linguagens de script Categoria:Linguagens de programação Categoria:Linguagens interpretadas Categoria:Unix shells