Bash

Bash 將“互動式”輸出重定向到特殊文件

  • September 16, 2017

我想重定向例如輸出,即pvto的進度條/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%

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