저는 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