在bash脚本中运行函数达到所需时间时绘制进度条

时间:2015-08-18 16:34:14

标签: bash progress-bar iperf

我想添加进度条,同时给出要完成的功能的百分比,例如[===> ] 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.
}

1 个答案:

答案 0 :(得分:0)

pvdialog(或xdialogzenity)在此处可能有用。

  • pv位于基于管道的操作中间,计算通过管道的数据并根据传输数据的预期行数/字符绘制进度条。
  • dialog是一个相当全面的shell脚本GUI工具,xdialogzenity为X和Gnome等价物。将格式良好的数据发送到stdin允许您创建可更新的进度条,但发送正确的格式可能会非常棘手。
  • 您可以使用printfecho -n等编写自己的自定义对话框;这只是用你自己的数学一次输出一个字符的问题。您可以使用tput或回显\r(回车,而不是换行)将光标发送到屏幕的已绘制部分。