定时器显示脚本没有明确

时间:2016-03-02 15:53:09

标签: linux bash

我正在寻找一种替代清晰,或者更好的方法来编写我制作的计时器脚本。基本上,脚本从20分钟开始倒计时,然后再从20分钟重新开始。我想要做的是避免每次调用clear时发生的闪烁终端,即每秒钟。我错过了写这个更好的方法吗?或者我基本上坚持使用清晰的闪烁终端?

totsecs=1200

currsecs=0

while true; do

    currsecs=$(($currsecs+1)) 

    min=$((totsecs-currsecs))
    min=$((min/60))

    sec=$((totsecs-currsecs))
    sec=$((sec%60))

    printf "%02d:%02d\n" $min $sec

    if [ $currsecs -eq $totsecs ]; then 
        currsecs=0
    fi  

    sleep 1

    clear

done    

1 个答案:

答案 0 :(得分:1)

使用回车符而不是换行符将光标返回到同一行的开头。

while true; do
    (( currsecs++ )) 
    (( min = (totsecs - currsecs) / 60 ))
    (( sec = (totsecs - currsecs) % 60 ))
    printf "\r%02d:%02d" $min $sec
    (( currsecs == totsecs )) && currsecs=0
    sleep 1
done