2017-04-18 81 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