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

관련 정보