シェルスクリプトからopen、closeなどのosシステムコールを呼び出すことは可能ですか? グーグルを試してみましたが、「system()」コマンドを使用するという間違った方向に進みます。これについて誰かが助けることができますか?
質問する
9789 次
1 に答える
9
多くのシステムコールにアクセスできますが、正確なパラメータを直接指定することはできず、ネイティブシェルメカニズムを介してのみアクセスできます。例えば:
exec 4>outfile
呼び出し:
open("outfile", O_WRONLY|O_CREAT|O_APPEND, 0666) = 3
dup2(3, 4)
(3
次に使用可能な記述子に置き換えられます)、および
exec 4<&-
呼び出し:
close(4)
bashなどの一部のシェルでは、ロード可能なモジュールを介して追加のビルトインを追加できます(enable
このようなモジュールのロードに使用されるビルトインを参照してください)。アップストリームで提供されていない機能が本当に必要な場合は、その方法で実装できる可能性があります。
于 2012-04-17T18:01:35.513 に答える