Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Dashのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Dash
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:コマンドシェル]] [[en:Dash]] [[Wikipedia:ja:Debian Almquist shell|Dash]] は近代的な POSIX 互換の [[wikipedia:Bourne_shell|{{ic|/bin/sh}} (sh, Bourne shell)]] の実装です。 Dash は [[Bash]] 互換ではありませんが以下のような特徴があります: * 実行速度が速い。Bash などのシェルに比べて [https://unix.stackexchange.com/questions/148035/is-dash-or-some-other-shell-faster-than-bash 4倍高速] に動作します。 * 使用するリソースが少ない (ディスク容量, RAM, CPU)。Bash などよりもずっと小さくコンパクトです (インストール容量は Bash の 134.1 kB に比べて 6.5 MB で、ソースコードの行数は 176 kSLOC に対して 13 kSLOC です)。 * セキュリティが高い。古くに開始されたプロジェクトであり、シンプルながら長い実績があります。そして [https://git.kernel.org/cgit/utils/dash/dash.git/stats/?period=q&ofs=10 多くの開発者] が携わっている [https://git.kernel.org/cgit/utils/dash/dash.git/log/ 活発に開発されている] プロジェクトでもあります。攻撃されるような部位は少なく、コードを見ている目はたくさんあります。 == インストール == {{Pkg|dash}} パッケージから[[インストール]]できます。または {{AUR|dash-static-musl}} パッケージをインストールしてください。 == DASH をデフォルトシェルとして使う == ほとんどの POSIX 互換スクリプトはスクリプトの一番最初の行に {{ic|/bin/sh}} を指定しており、{{ic|/bin/sh}} がシェルとして動作しますが、Arch ではデフォルトで {{ic|/bin/bash}} へのシンボリックリンクになっています。 {{ic|/bin/sh}} から {{ic|/bin/dash}} にシンボリックリンクを貼り直すことでシステムのパフォーマンスを向上させることができます。ただその前に、明示的に {{ic|#!/bin/bash}} を指定してないスクリプトが、ちゃんと POSIX 互換であり Bash の機能を使っていないことを確認する必要があります。 === bashism を確認 === Dash に含まれていない Bash の機能 ('bashism') は {{ic|/bin/bash}} を明示的に指定していないと動作しなくなります。以下の手順に従うことで修正が必要なスクリプトがないか確認することができます。 {{Pkg|checkbashisms}} パッケージをインストールしてください。 ==== チェックするべき場所 ==== * インストールしたスクリプトの {{ic|#!/bin/sh}} シバン: $ gawk '/^#!.*( |[/])sh/{printf "%s\0", FILENAME} {nextfile}' /usr/bin/* | xargs -0 checkbashisms * {{ic|pacman -Qlq}} を使うことで pacman でインストールしたファイルを全て一覧することができます。 === /bin/sh の再リンク === 機能が破壊されないことを確認できたら、{{ic|/bin/sh}} のリンクを変更しても安全なはずです。再リンクを行うには次のコマンドを使用: # ln -sfT dash /usr/bin/sh Bash がアップデートされるとデフォルトのシンボリックリンクで {{ic|/bin/sh}} が上書きされます。上書きされないようにするには、以下の [[Pacman#フック|pacman フック]]を使って、アップデート後に {{ic|/bin/sh}} のリンクを再度作成するようにしてください: [Trigger] Type = Package Operation = Install Operation = Upgrade Target = bash [Action] Description = Re-pointing /bin/sh symlink to dash... When = PostTransaction Exec = /usr/bin/ln -sfT dash /usr/bin/sh Depends = dash == 参照 == * http://article.gmane.org/gmane.linux.arch.devel/11418 * https://mailman.archlinux.org/pipermail/arch-dev-public/2007-November/003053.html * https://launchpad.net/ubuntu/+spec/dash-as-bin-sh * https://wiki.ubuntu.com/DashAsBinSh
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
Dash
に戻る。
検索
検索
Dashのソースを表示
話題を追加