こんにちは、私は現在、プログラムを実行するときにコマンド ラインの特定の部分を印刷しようとしています。現在、次のようにプログラムを実行しています
zcat gcc | sim
私が達成しようとしているのは、コマンドラインの「gcc」部分を別のファイルに出力することです。これを達成する方法はありますか。助けてくれてありがとう
これはC ++ではなくCであることに言及するのを忘れていました
こんにちは、私は現在、プログラムを実行するときにコマンド ラインの特定の部分を印刷しようとしています。現在、次のようにプログラムを実行しています
zcat gcc | sim
私が達成しようとしているのは、コマンドラインの「gcc」部分を別のファイルに出力することです。これを達成する方法はありますか。助けてくれてありがとう
これはC ++ではなくCであることに言及するのを忘れていました
「sim」プログラムは、標準入力からのデータがあることだけを知っています。何が stdin にデータを渡しているのかわかりません。別のプログラム、リダイレクトされた入力、またはデバイスからのものである可能性があります。
'sim' POV からは、stdin からのデータしかありません。
パイプを介して別のプロセスから常にデータを受け取ることが保証できる場合は、「 sim」プロセスに一致するプロセス ヘッダーの検索を開始し、そこから関連するプロセスからプロセス情報を抽出できます。しかし、これはあなたが望んでいる以上のものだと思います。
(パイプを介して)の出力をzcat
プログラムに渡していますが、に渡された引数の詳細はわかりませんzcat
。ただし、入力ストリームの一部として明示的に渡すことができますが、
(echo 'zcat gcc'; zcat gcc ) | sim
しかし、それはハックです。この方法でのみプログラムを実行する予定がある場合は、問題ないかもしれません。