シェルプログラミングTips

シェル csh

シェルには文法という面から見て大きく2つの種類がある。shの文法をベースとしたsh系と、cshの文法をベースとしたcsh系だ。sh系のシェルにはash、dash、bash、zsh、kshなどがあり、csh系をベースとしたシェルにはtcshなどがある。高機能シェルは双方の文法を理解したりするので厳密に分類することが難しいものもあるが、たいだいこういった区分けができる。

cshはBSDで採用されていたシェルで、インタラクティブシェルとしての側面が強い。登場した当時のshはインタラクティブシェルとしての機能が弱かった。cshはこうしたshに対するカウンターシェルとしての意味合いを持ち、インタラクティブシェルとしての機能(ジョブ制御、ヒストリ機能)を強化したシェルとして登場した。また、文法をC言語風にすることで特徴を持たせ、当時高い人気を得た。

逆にcshでシェルスクリプトが組まれることはほとんどない。cshが登場した当時はcshをシェルスクリプトに利用するケースもあったが、現在ではシェルスクリプトはshで組むことがほとんどといえる。cshの機能のいくつかはシェルスクリプトとして利用するには向いていないと言われている。

現在でもBSDを使ってきたユーザはcsh、またはcshの機能を拡張したtcshを採用するユーザが多い。

last modified: 2014-01-13 16:01:13