我希望显示文件夹的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的进展?感谢
答案 0 :(得分:1)
pv
报告stderr
的进度,zenity
从stdin
读取,因此它永远不会看到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