Bash 中的倒计时 + 休息

Bash 中的倒计时 + 休息

我正在尝试在 Bash 中制作一个计时器,它会倒计时 20 分钟,然后在上一个计时器之后立即开始 10 分钟的休息。然后循环继续并再次返回到 20 分钟。

#!/bin/bash
MIN=20
BREAK=10
while [[ 0 -ne $MIN ]]; do
    echo "$MIN"
    sleep 1
    MIN=$[$MIN-1]
done
WHILE [[ 0 -ne $BREAK ]]; do
    echo "$BREAK"
    sleep 1
    BREAK=$[$BREAK-1]
done

我在这里用几秒钟就做到了。 20秒过去了,然后10秒立即开始。但当 10 秒到期时,脚本就会停止。有没有办法20分钟后重新开始?

谢谢你!

答案1

如您所知,要重复一段代码,您可以使用while do ... done循环。因此,要重新开始,您只需将整个代码段包装在另一个while...循环中即可。

这次条件可以只是命令true。所以你会得到这个:

while true
do
    # Put the code to be repeated forever in here
    :
done

相关内容