用pv制作倒计时栏
Making countdown bar with pv
根据 2013 年的这个问题,在 displaying a countdown in a terminal 上,我想使用 pv
显示进度条来改进答案。
这是我当前的脚本。
function countdown {
date1=$((`date +%s` + ));
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 年的最佳替代品?
谢谢。
您无法通过 pv
改善这一点。 pv
代表 Pipe View,它跟踪数据流的进度。知道大小并测量通过它的数据量,它可以给你一个剩余时间的估计。
如果你只是需要一个计时器倒计时,pv
没用。
你已经有了可以修饰的东西。网络中存在满足您需要的其他脚本:http://handybashscripts.blogspot.com/2012/01/simple-timer-with-progress-bar.html
就这样 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
的值
根据 2013 年的这个问题,在 displaying a countdown in a terminal 上,我想使用 pv
显示进度条来改进答案。
这是我当前的脚本。
function countdown {
date1=$((`date +%s` + ));
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 年的最佳替代品?
谢谢。
您无法通过 pv
改善这一点。 pv
代表 Pipe View,它跟踪数据流的进度。知道大小并测量通过它的数据量,它可以给你一个剩余时间的估计。
如果你只是需要一个计时器倒计时,pv
没用。
你已经有了可以修饰的东西。网络中存在满足您需要的其他脚本:http://handybashscripts.blogspot.com/2012/01/simple-timer-with-progress-bar.html
就这样 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
的值