2017-04-18 144 views
0

我想顯示一個文件夾的tar壓縮的zenity的進度。Tar壓縮Zenity進度

請考慮以下代碼將Document文件夾壓縮到bzip2。

(tar -cf - Documents | pv -n -s $(du -sb Documents | awk '{print $1}') \ 
| bzip2 > test.tar.bz2) | zenity --progress --percentage=0 

通過逐行顯示百分比顯示終端使用pv顯示進度。

3 
9 
16 
27 
... 

但是,zenity不顯示進度並保持鎖定在0%。當過程完成時,zenity顯示100%。 如何解決我的錯誤,並查看在zenity進展?由於

回答

1

pv報告上stderr進展,zenitystdin讀取,所以它永遠不會看到什麼pv報告。當stdin關閉時,它將切換到100%。

試試這個,這應該修復它:

(tar -cf - Documents | pv -n -s $(du -sb Documents | awk '{print $1}') \ 
| bzip2 > test.tar.bz2) 2>&1 | zenity --progress --percentage=0 
+0

工作正常!謝謝。 – NicolasSmith