Io-Redirection

使用 stdbuf -o 0 |& tee log 時沒有 stderr 輸出

  • September 23, 2020

我想使用以下命令記錄執行程序時的標準輸出和錯誤資訊:

 stdbuf -o 0 ./myprogram|& tee mylog

它在一台電腦上執行良好,我可以在螢幕和mylog. 但在另一台電腦上,我只能在螢幕和mylog. 它們都是 Fedora OS 和 x86_64。

嘗試使 stdout 和 stderr 都無緩衝。

stdbuf -e 0 -o 0 ./myprogram |& tee mylog

**編輯:**我替換了我原來的答案。以上很可能是解決問題的方法。

如果 COMMAND 調整其標準流的緩衝(例如,’tee’ 會這樣做),那麼它將覆蓋由 ‘stdbuf’ 更改的相應設置。

請在此處閱讀;https://linux.die.net/man/1/stdbuf

引用自:https://unix.stackexchange.com/questions/80148