シェル

Last update: 1999/02/27

UNIX 系 OS を使用する上で避けては通れず、 そして最強のインターフェースである(と思う)シェルのお話。 私が使っている tcsh のちょっと便利な使い方については こちら

参考書籍

シェルの比較

各種シェルを比較してみました。 構文の違いで大きく分けると、 sh, ksh, bash, zsh は Bourne シェル系、 csh, tcsh は C シェル系です (zsh は C シェル系の構文もサポートしています)。 これら以外にも多くのシェルやシェルもどきがあります。
FreeBSD 2.2.8R での機能比較表です。
sh ksh(pkdsh) bash bash 2.0 zsh csh tcsh
バージョン (OS付属) 5.2.13 1.14.7 2.02.1 3.0.5 (OS付属) 6.08.03
エイリアス 1) 1)
関数 ×1) ×1)
構造化スクリプト
配列 × ×
キーバインド × ×
ヒストリ編集 × ×
ライン編集 × ×
補完 × 2,3) 2,4)
ファイル名展開 5) 6)
プロンプトカスタマイズ × × ×
NLSカタログ(日本語化) ×7) ×7) × × × ×7)

1) csh, tcsh は関数が無いかわりエイリアスが引数をとれる
2) zsh, tcsh は強力なプログラマブル補完機能がある
3) zsh はメニュー補完機能がある
4) tcsh は補完候補の一覧が GNU-ls のようにカラー化できる
5) zsh は階層化したディレクトリに一致する `**' などある
6) tcsh は「それ以外」に一致する `^' がある
7) 商用 UNIX では対応しているものもある

どのシェルを使う?

比較表を見ると bash, zsh, tcsh から選ぶのが順当でしょう。 私の場合、学生の時 csh → tcsh と他の選択枝を知らずに移ったため tcsh を使い続けている面もあるのですが、bash や zsh を知ってからも 一応比較してみました。 その結果、まずプログラマブル補完機能 がないことで bash は選択対象から外しました(bash がサポートしたらまた考えよう)。 後は zsh か tcsh かなのですが、 tcsh が日本語(複バイト文字)をサポートしていること (参考 znc HomePage )、 参考書籍があること(zsh の専門書籍はみたことないですね)、 補完候補をカラー表示できることでやはり tcsh にしました。 スクリプト機能が貧弱なのは、sh (または perl とか)でスクリプトを 書けばいいことですし。

コラムへ戻る ホームページへ このページのトップへ 新着情報 コンピュータ
ダウンロード 用語集(索引) 用語集 プロフィール リンク

このページへのお問い合わせは hsaka@mth.biglobe.ne.jp まで御願いします。