在2013年displaying a countdown in a terminal之后,我想使用pv
来显示进度条来改善答案。
这是我当前的脚本。
function countdown {
date1=$((`date +%s` + $1));
while [ "$date1" -ge `date +%s` ]; do
echo -ne "$(date -u --date @$(($date1 - `date +%s`)) +%H:%M:%S)\r";
sleep 0.1
done
}
# 7 minutes countdown
countdown $((7*60))
如何使用pv
来改善这一点?它看起来像跟踪进度测量数据写入。就我而言,我只需要等待,就没有指标可以衡量。
截至2018年,也许还有最好的选择?
谢谢。
答案 0 :(得分:0)
您无法使用pv
来改善这一点。 pv
代表管道视图,它跟踪数据流的进度。了解数据的大小并测量通过它的数据量,它可以为您估计剩余时间。
如果您只需要计时器倒计时,则pv
毫无用处。
您已经写了一些可以修饰的东西。网络中还存在其他您需要的脚本:http://handybashscripts.blogspot.com/2012/01/simple-timer-with-progress-bar.html
答案 1 :(得分:0)
只需使用pv
进行此操作,每秒写入一个字节的字符。
secs=$((7 * 60))
while [ $secs -gt 0 ]
do
echo -n "."
sleep 1
: $((secs--))
done | pv -s $secs > /dev/null
echo -n
是
-n do not output the trailing newline
pv -s
是
-s, --size SIZE set estimated data size to SIZE bytes
sleep 1; : $((secs--))
每1秒减少$secs
的值