通信用語の基礎知識 IPv4
戻る
全国のICカードこれひとつ

dash

辞書:電算用語の基礎知識 サーバー編 (PNSVR)
読み:ディーエイシェル
読み:ダッシュ
外語:dash: Debian Almquist shell 英語
品詞:商品名
2014/07/23 作成

Debianやその派生(Ubuntu含む)で使われている、Kenneth Almquist作のシェル(ash)の拡張版シェル

Linuxの多くのディストリビューションでは多機能なbashが人気だが、DebianやUbuntuでは、bashとは系統の異なるash系のシェルであるdashを開発し採用している。

シェルスクリプトの機能もashの系統であるため、bashとは一部について非互換である。

叩かれる運命

Linux用のシェルスクリプトとは、結局のところbashで動作するシェルスクリプトと同義である。

Linux界隈では、1行目に「#!/bin/bash」ではなく「#!/bin/sh」と書きながら、/bin/sh では動作しないようなスクリプトがよく書かれている。

bashでしか動作しないなら1行目は「#!/bin/bash」と書かねばならない。bashとdashの両方をインストールしてあれば、普段は高速なdash、bashでしか動作しないスクリプトはbash、という切り替えが可能である。しかし、そうではない行儀の悪いスクリプトが無数に存在した。

結果、「DebianやUbuntuではシェルスクリプトが正常に動作しない」などと言われてしまう、残念な結果となってしまった。

消される運命

bash をインストールした後、/bin/sh のシンボリックリンクを一旦消して、再度リンク先を /bin/bash にしたシンボリックリンク /bin/sh を作れば、スクリプトは正常に動作するようになる。

しかし面倒な場合、GUIで設定できる。

まず、dashかbashかを確認する。

ls -l /bin/sh

出力結果がdashであれば、以下を実行し、dashを使わない設定である <いいえ> を選択する。

sudo dpkg-reconfigure dash

bashになったかどうかを再度確認する。

ls -l /bin/sh

用語の所属
シェル
ash
関連する用語
sh
bash

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.03 (16-May-2019)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club