私はbashの機能は次のように定義されていますbash関数で複数のプログラムからstdoutを取り込む方法は?
$ test file.cpp
compile OUTPUT
simulate OUTPUT
が、私はそうのような出力をリダイレクトできるようにしたいと思います:
$ test() { ./compile $1 ${1::-4}.output; ./simulate < ${1::-4}.output; }
この機能を実行する私は端末に期待する出力を生成します。
$ test file.cpp > out_file.txt
か:
$ test file.cpp | less
しかし、私はstd出力をキャプチャしようとすると、またはそれを以下に配管しようとすると、私はstdoutをコンパイルから取り込み、シミュレートからのstdoutは端末にも出力されません。
実行されているすべてのプログラムからstdoutをキャプチャするにはどうすればよいですか?
あなたは 'simulate'がstderrに書いていませんか? 'simder 2> stderr.txt'を実行すると、' stderr.txt'には何が入っていますか? – Jens
これを実行しても入力は取得されません。それはターミナルにすべてを印刷しますか? –
すみません。私は出力を言うことを意味しました。私はこれがセグメンテーションがある前にバッファーが空にならないという結果だと思いますか? –