回声“。”直到命令完成执行

我目前正在设法弄清楚如何让bash在屏幕上绘制一系列点(类似进度指示器),直到命令执行完毕。 例如,说我想为wget下载画点:

wget -s http://url.tar.gz until "above command has finished executing"; do echo -n "." sleep 0.05s done 

我可以使用“$!”吗? 或“$?” 帮助解决这个问题?

感谢您的帮助!

这将打印点,直到wget完成:

 while sleep 0.1; do printf "."; done & wget -q http://url.tar.gz kill $! echo "" 

wget有自己的进度指标。 以上使用-q来关闭。

感谢松鼠,我能解决这个问题。 他指出我有一个线程,我有重复的shell – 获取后台进程的退出代码 。 通过添加以下内容到我的脚本,我能够得到它的工作,我希望如何:

 wget -q http://url.example.com.tar.bz2 & wget_pid=$! while [ -d /proc/$wget_pid ]; do echo -n "." sleep 0.01s done