Bash
Bash 將“互動式”輸出重定向到特殊文件
我想重定向例如輸出,即
pv
to的進度條/dev/tty1
。... | pv -perts 100G | ... 2> /dev/tty1
但是我得到的是,每當進度條更新時,它就會在新行中更新,而舊狀態仍保留在上面的行中。
有沒有辦法讓它刷新?我聽說過,
col
但我認為它會在輸出完成後列印,這當然不適合視覺跟踪進度。
我假設 tty 和 pty 的行為相同。我現在只能訪問後者。
試試這個…
... | pv --force -perts 100G 2> /dev/tty1 | ...
在我的測試中,進度條在關聯的終端中正常呈現,
/dev/tty1
即使我是從不同的終端執行它。
--force
(即使手冊頁說只有在標準錯誤未指向終端時才需要它,我還是必須添加pv
。我使用了偽終端,所以它可能不認為它們是相同的。如果沒有它也能正常工作,請不要使用它。)一個例子貫穿…
cat file_250M | pv --force -perts 250M 2> /dev/pty7 | wc
“本地”終端:
0 0 262144000
/dev/pty7 終端(一個單一的,不斷變化的行):
0:00:06 [36.7MiB/s] [======================================================================>] 100%