我想添加进度条,同时给出要完成的函数的百分比,如[===>]20%完成。例如,我有一个使用iperf
的代码,我给出了我想要的持续时间。
function Throughput_test()
{
iperf -c $otherIP -u -b 1000m -t 10 -i1
# Here is where I want to add the progress bar.
# This function takes 10seconds and I want to
# see the progress bar.
}
pv
和dialog
(或xdialog
或zenity
)可能在这里有用。
-
pv
位于基于管道的操作的中间,对通过管道的数据进行计数,并根据传输数据的预期行数/字符数绘制进度条。 -
dialog
是一个相当全面的shell脚本GUI工具,xdialog
和zenity
是X和Gnome的等效物。发送格式良好的数据到stdin
允许您创建一个可更新的进度条,但发送正确的格式可能是棘手的。 - 您可以使用
printf
,echo -n
等编写自己的自定义对话框;这只是使用您自己的数学方法一次输出一个字符的问题。您可以使用tput
或通过回显r
(回车,而不是换行符)将光标发送到屏幕已经绘制的部分。