Bash
將命令通過管道傳輸到 pv 但隱藏所有原始命令的輸出
我正在嘗試使用
pv
,但我想隱藏我通過管道輸入的命令,同時仍然能夠看到 pv 的輸出。使用command &> /dev/null | pv
不起作用(例如, pv 不接收任何數據)。command
在標準輸出和標準錯誤上產生輸出,我也不想看到。我嘗試使用 grep 管道(
command &> /dev/null | pv | grep <=>
),但它不時將內容輸出到終端。
要使用它,請將其插入兩個程序之間的管道中,並帶有適當的選項。它的標準輸入將被傳遞到其標準輸出,並且進度將顯示在標準錯誤上。
您看到的輸出來自
pv
. 進度條在 stderr 上,您輸入的內容在 stdout 上。您可以重定向輸出:cmd | pv > /dev/null
你仍然會得到進度條輸出。
如果該命令也在 stderr 上生成自己的文本,則可以在將輸出傳遞到之前將其顯式重定向
/dev/null
pv
到:cmd 2>/dev/null | pv > /dev/null