『练习』:编写脚本实现1分10秒倒计时
使用四则运算方式实现
在倒计时时:
分钟=总秒数/60取整
秒钟=总秒数/60取余
<方式1>
#!/bin/bash
MIN=1
SEC=10
((NUM=MIN*60+SEC))
for (($NUM;NUM>0;NUM--))
do
((min=$NUM/60))
((sec=$NUM%60))
echo -n -e "\033[32mAfter $min:$sec will end !\033[0m"
echo -ne " \r"
sleep 1
done
<方式2>
#!/bin/bash
SEC=10
MIN=1
ALL_SEC=$[60*$MIN+$SEC))
for ((;ALL_SEC>0;ALL_SEC--))
do
SEC=$[$ALL_SEC%60]
MIN=$[$ALL_SEC/60]
echo -ne "After $MIN:$SEC is end !"
echo -ne " \r"
sleep 1
done
for循环时只能为NUM>0
(或ALL_SEC>0
)而不能为NUM>=0
(或ALL_SEC>=0
),是因为NUM>=0
(或ALL_SEC>=0
)表示总秒数为0(即0:0—时间剩下为0秒),在时间剩下0秒时,还会执行1此sleep 1
(休眠1秒),使得倒计时多了1秒,所以for循环时只能为NUM>0
(或ALL_SEC>0
)