![]() |
![]() |
| 通常PC用 / 人気 更新 今日 カテ |
| 電子計算機 > ソフト > システム > ユーザーIF > CUI/コマンドシェル > シェル > Unix用 |
| dash |
| 辞書:電算用語の基礎知識 サーバー編 (PNSVR) |
| 読み:ディーエイシェル |
| 外語:dash: Debian Almquist shell |
| 品詞:商品名 |
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
| リンク |
| 通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |