我正在编写自己的脚本来下载多个项目(同时,每个命令一个项目)wget
,我需要一个进度条。我目前使用zenity --progress
我的进度条,但问题是它在下载时会产生多个进度条。
我想要实现的是类似于 Nautilus 中的文件传输对话框的东西:
任何人都可以指出正确的方向,说明哪些程序或语言可以实现这一目标。
注意: 我只有 shell 脚本的基本知识,其他的不多。
我正在编写自己的脚本来下载多个项目(同时,每个命令一个项目)wget
,我需要一个进度条。我目前使用zenity --progress
我的进度条,但问题是它在下载时会产生多个进度条。
我想要实现的是类似于 Nautilus 中的文件传输对话框的东西:
任何人都可以指出正确的方向,说明哪些程序或语言可以实现这一目标。
注意: 我只有 shell 脚本的基本知识,其他的不多。
使用 YAD 的解决方案
概述
Zenity 好久没更新了。幸运的是,有一个名为YAD的分支具有许多附加功能。它尚未到达官方存储库,但您可以从 webupd8 PPA 安装它:
YAD 添加的功能之一是多进度条对话框。以下是 YAD 手册中有关多个进度条的摘录:
因此,一个非常简单的带有多个进度条的脚本可能如下所示:
这就是结果的样子:
我们可以通过以下方式向条形图添加描述
#
:结果:
如果我们想在 wget 下载脚本中实现它,我们必须先做几件事:
我发现这个项目相当有趣,所以我坐下来编写了一个脚本来完成上述所有工作。
yad_wget
这是我想出的:
这就是它的样子:
请务必通读所有评论以了解脚本的工作原理,如果您有任何疑问,请随时在下面的评论中提问。
编辑:
我添加了对设置同时下载的最大数量的支持。例如
MAXDLS="5"
: