2012-04-17 8 views
5

シェルスクリプトからopen、closeなどのosシステムコールを呼び出すことはできますか?私はグーグルを試みたが、それは間違った方向 "システム()"コマンドを使用して私がかかります。これを助けることができる人はいますか?bashスクリプトからのOSシステムコール

+1

なぜファイルを処理するための通常のメカニズムを使用するだけではないのですか? –

答えて

5

多くのsyscallにアクセスできますが、正確なパラメータを直接指定することはできません。

exec 4>outfile 

呼び出し:

open("outfile", O_WRONLY|O_CREAT|O_APPEND, 0666) = 3 
dup2(3, 4) 

3では、次の使用可能な記述子によって置き換えられている)、および

exec 4<&- 

呼び出し:

close(4) 

シェルによって例えば、baなどsh、ロード可能なモジュールを介して追加の組み込み関数を追加できるようにします(enableの組み込み関数を参照してください)。 実際にに必要な機能が上流にない場合、そのように実装する可能性があります。

関連する問題