« コマンドラインシェルのマニアックな比較 その 2 | トップページ | テレビ番組等感想 その 66 (2007 年第 4 四半期の纏め) »

2007年12月31日 (月)

コマンドラインシェルのマニアックな比較 その 3

その 2 の続き。

サブシェルでやったらどうなるの? ということで今度は (echo `cat`) を試した。

bash
cat はサブシェルもろとも停止。fg で正しく再開可能。
zsh
cat はサブシェルもろとも停止。fg で正しく再開可能。
tcsh
元のシェルの直接のサブシェルのみ停止し、コマンド置換を行うための第二のサブシェルおよび cat は停止しない。制御は元のシェルに戻るが、cat が停止していないので入出力エラーが発生し、cat は終了する。よって fg では正しく再開できない。
ksh
分岐せずに、サブシェルで行うべき動作を元のシェルで行うため、例によって無限 fork 発生。

ksh は癖がありすぎだよ……。

ksh でサブシェルを強制的に分岐させるため、(echo `cat` | cat) で試したら、サブシェルだけ停止して嵌まった。まあ無限 fork しないだけでもよしとすべきか。

|

« コマンドラインシェルのマニアックな比較 その 2 | トップページ | テレビ番組等感想 その 66 (2007 年第 4 四半期の纏め) »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/169172/17533598

この記事へのトラックバック一覧です: コマンドラインシェルのマニアックな比較 その 3:

« コマンドラインシェルのマニアックな比較 その 2 | トップページ | テレビ番組等感想 その 66 (2007 年第 4 四半期の纏め) »