標準エラー出力をファイルに出力する方法 †コマンドなどの出力結果をリダイレクトで出力すると標準エラー出力はターミナルに出力されたりファイルには保存されません。 関連資料 †テストコード †以下に記す簡単なC言語のサンプルソースを作りました。 #include <stdio.h> int main() { fprintf(stdout, "stdut MESSAGE\n"); fprintf(stderr, "stderr MESSAGE\n"); return 0; }
実験(実行例) †以下の実験で使用したシェルはbashになります。cshでは意図した動作になりませんのでご注意ください。 標準出力と標準エラー出力を別々のファイルに出力する †以下の例では、標準出力をstdout.txtファイルに出力し標準エラー出力をstderr.txtファイルに出力します。 ./std 1> stdout.txt 2> stderr.txt or ./std > stdout.txt 2> stderr.txt 標準エラーのみファイルに出力する †以下の例では標準エラー出力のみstderr.txtに出力し標準出力はターミナルに表示します。 ./std 2> stderr.txt 標準出力と標準エラー出力をおなじファイルに出力する †以下の例では、標準出力、標準エラー出力を同じファイルに出力します。 ./std > output.txt 2>&1 cshで標準出力、標準エラー出力を同じファイルに出力する方法 †./std >& output.txt |