LoginSignup
0
0

More than 1 year has passed since last update.

シェルスクリプト概観:Bourn shell(B shell)、C shell、Korn shell

Posted at

この記事ではそれぞれのシェルスクリプトの概説を共有したいと思います。

ブルース・ブリンさんの『入門UNIXシェルスクリプト』を参考にしています。

目次

  1. Bourne shell (B shell)

  2. C shell

  3. Korn shell

Bourne shell (B shell)

シェルという場合に何も注釈がない場合は普通Bourn shell (以下B shell)のことを表す。

開発者である、AT&Tベル研究所1Stephen R. Bourneによって開発されたことが名前の由来で、UNIXが存在した当初からある。

そのためどのUNIX上でも動作する。

スクリプトの記述に関しては優れた機能が備わっており、

  • フロー制御
  • パターンマッチング
  • 入出力制御

などがしっかりと行える。

ただし、対話的に利用するには機能が乏しく、エイリアス機能も補完機能もない。

C shell

カルフォルニア大学バークレイ校2Bill Joyが開発。

記述法がC言語に似せて作られたことが名前の由来。

対話的な処理においてB shellをはるかにしのいでいたため普及。

スクリプトの機能としてはB shellに劣る。

C shellには以下の優れた点があった。

  • ヒストリ機能
  • エイリアス機能
  • ファイル名称補完機能
  • ジョブ制御機能

C shellB shellの欠点を補うことで、この二つのシェルスクリプトが次第に標準的シェルスクリプトになった。

Korn shell

AT&Tベル研究所のDavid Kornが開発。

B shellと同じ記法にしながらもC shellの対話機能も取り込んだいいとこどりのシェルスクリプト。

C shellから取り込んだ機能:

  • ヒストリ機能
  • コマンド置換機能
  • エイリアス機能
  • ファイル名称補完機能
  • ジョブ制御機能
  • 変数配列
  • チルダ(~)変換機能
  • noclobber処理

Korn shell独自機能:

  • select機能
  • function機能
  • time、whence、getoptsコマンド
  • REPLY、PPID、EDITOR、OLDPWD変数
  • viかemacsによるコマンド行編集
  • パラメタ置換の拡張

  1. UNIX誕生の場所でもある。「本文に戻る」 

  2. BSD(Berkeley Software System)を開発したKen Thompsonの出身校でもある。「本文に戻る」 

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0