Io-Redirection
使用 stdbuf -o 0 |& tee log 時沒有 stderr 輸出
我想使用以下命令記錄執行程序時的標準輸出和錯誤資訊:
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’ 更改的相應設置。