きのうに引き続きシェル作成。
あと追加できそうな簡単な機能ないかなぁ。
とりあえず以下の機能は実装したので…。
ちなみに
rm http://www.maznaka.com/nandayo.html
に限らず,きのうの ftp/http 機能を付ける気などまったく無いです。
(1) 単一コマンドの実行
例:% ls
(2) 標準入出力の切替え
例:% wc < data > result
(3) 複数コマンドからなるパイプラインの実行
例:% cat data1 data2 | sort +1 -2 | lpr
(4) 上記 (1)〜(3) の組み合わせ
例:% cat data1 data2 | sort +1 -2 > result
(5) 終了コマンド(exit)を受け付けると終了する。
シェルから起動したコマンドは,^C, ^\ といったキーボードからの割込みにより終了するものとする。
(6) 標準エラー出力の切替え
例:% make |& tee log
(7) 標準出力,標準エラー出力における追加モード
例:% cat data1 | sort >> result
(8) 複数のコマンドの順次実行
例:% date; who; pwd
(9) 子シェル(コマンド・グループ)の実行
例:% (cat data1 data2 | sort > result) >& error
(10) バックグランド実行
例:% sort data | lpr &
(11) 条件実行
例:% egrep pattern data > result && lpr result
例:% cc test.c >& err || lpr err
(12) 内部コマンドの提供
例:% cd /
(13) ジョブ制御(フォアグランド,バックグランドの切替え)
(14) 環境変数の展開
例:% echo $PATH
(15) その他いろいろ
ちとジョブ制御に問題ありかもしれづ。
シグナル処理難しい。