Bourne Shell
Bourne shell ではなく Thompson shell から派生した C Shell (csh) は 4.1BSD で配布され、BSDカーネルの「ジョブ制御」機能を導入した。ジョブ制御は対話的にプログラムを止めたり、後でそれを再開させる機能である。C Shell がコマンドインタプリタとして人気になったのはこの機能があったためである。また C Shell は C言語風の文法を採用したことにより Bourne Shell と互換性がなくなってしまった。なお、ジョブ制御機能は後に Bourne shell にも導入され、その後継シェルの多くにも採用されている。
後にデビッド・コーンが開発した KornShell (ksh) は、Bourne Shell と C Shell の中間のようなもので、文法はほぼ Bourne Shell と同一で、ジョブ制御機能を C Shell から取り入れた。当初の KornShell (ksh88)の機能はPOSIXにおけるシェル標準の基盤となっている。その後、ksh93 が 2000年にオープンソース化され、いくつかのLinuxディストリビューションで使われている。ksh88 のクローン pdksh もあり、OpenBSDのデフォルトシェルとなっている。
Bourne shell は、C Shell と比べて次のような欠点があると批判されてきた。
対話的に使用する場合、Bourne shell は使いやすくない。C Shell には、ヒストリ機能、エイリアス機能、ジョブコントロール機能などがあり、素早く簡単に操作できる。
Unixシステムの大部分はC言語で書かれているが、Bourne shell の文法はC言語とは全く似ておらず、ALGOLに似ている。
式を評価する機能がない。単純な式であっても外部の test(英語版) と expr というユーティリティを使わないと式を評価できない。