Debian Almquist shell (dash)は、Debian版Almquist Shell(ash)の意で、軽量かつPOSIX互換を目指すUnixシェルである。基本的な特徴はashと共通であり、そちらの記事を参照のこと。この記事では主としてDebian版に固有な点や、Debianにおける用途について述べる。
1997年初頭にHerbert XuによってNetBSD版ashをベースにLinux版として書かれた。その後2002年に「dash」に改名された。
bashよりもシェルスクリプトの実行が高速であり、依存するライブラリが少ない。またアップグレードの問題やディスク破損に対する信頼性は高いと考えられている[2]。dashは以下の用途で使用されることを想定している:
- フロッピーディスクへのインストール用シェル
- スーパユーザー専用のシェル
/bin/sh
の代替
- シェルスクリプトがPOSIX互換の文法を正しく使用しているかのチェックのためのテスト環境
Debianは 5.0 (コードネーム: lenny)から、デフォルトの/bin/sh
をdashに置き換えた[3][4]。
Ubuntuも2006年10月にリリースされた6.10からデフォルトの/bin/sh
はdashである[5]。Ubuntuでは、多くのスクリプトがbashの使用を明示しないままbash固有の機能を使用していることが、dashへの移行作業の際に発覚した[6][7]。エラーを回避するため、bash前提のスクリプトには、dashで適切に動作するような改変、もしくは、明示的にbashを使用するように宣言する(すなわち、スクリプトのシバン行に「#!/usr/bin/env bash
」というかたちでbashの使用を指示する)改変を加えた。
脚注
外部リンク