GNU/Linux >> Linux の 問題 >  >> Linux

Makefile ルール内の stdout と stderr のパイピング

単純なアプローチがうまくいかない理由は説明されていませんが、うまくいきます:

[Makefile]
test: 
    python test.py >test.out 2>&1; pyrg <test.out

同じ問題でこの質問に遭遇し、答えに満足できませんでした。バイナリの TLBN がありました テスト ケース example2.TLBN で失敗しました .

これは、私の make ファイルが最初に見たものです。

make:
     ./TLBN example2.TLBN > ex2_output.txt

これは予期していたエラー メッセージで失敗し、make プロセスが停止しました。

これは私の修正です:

make:
    -./TLBN example2.TLBN > ex2_output.txt 2>&1

- に注意してください stderr への出力を無視するように make に指示する行の先頭。

これが同様の問題を抱えている人の助けになることを願っています.


奇妙なことに、私は同じ問題を抱えていて、次のように解決しました:

check-errors:
    check-for-errors.sh &> errors.txt

なぜ 2>&1 >errors.txt なのかよくわかりません ここでは機能しませんでしたが、&> した


Linux
  1. 配管とコマンド拡張の違いは?

  2. スクリプトの同じ行で stderr と stdout を別のファイルにリダイレクトする方法は?

  3. stdout と stderr でバッファリングを無効にしても安全ですか?

  1. make の DESTDIR と PREFIX

  2. シェル:stdout を /dev/null にリダイレクトし、stderr を stdout にリダイレクトします

  3. bash:stderr をファイルにリダイレクトし、stdout + stderr を画面にリダイレクトします

  1. LinuxにAnsibleをインストールしてテストする方法

  2. StderrとStdoutを異なる色で印刷するようにシェルを構成しますか?

  3. teeを使用してSTDERRおよびSTDOUTをファイルにキャプチャする