我有一个带有一些bash命令的简单应用,例如apt update
,并且我想将其输出通过管道发送到zenity Progress对话框中的--text
参数,我在使用类似谷歌的搜索后尝试了一些选项: >
gksudo apt update | xargs -L1 -I % zenity --progress --text=% --percentage=0 --auto-close --auto-kill
但是我所得到的只是闪烁的窗口!
那么,如何使输出以进度百分比显示在zenity窗口中?
答案 0 :(得分:1)
您不能使用进度百分比将输出显示在zenity窗口中,因为对于百分比计算,需要100%的信息,并且在此之前尚不知道{ {1}}命令将生成。
您可以做的是在apt update
输出内容的同时显示一个动画进度条。由于管道的标准输出通常已完全缓冲,因此必须使用apt update
更改缓冲:
stdbuf