shell script에서 sleep을 사용하여 일정 시간 코드 실행을 지연시키는 방법에 대해서 알아보겠습니다.

이 글의 예제들은 Ubuntu 20.04에서 Bash shell을 사용하여 작성되었습니다.

sleep으로 몇 초 대기

sleep N은 N초간 대기를 합니다. 즉, 다음 코드는 수행되지 않으며, 설정된 시간이 지나면 다시 코드가 실행됩니다.

#!/bin/bash

echo "5초간 대기"
sleep 5
echo "5초 후에 실행됨"

Output:

$ bash example.sh
5초간 대기
5초 후에 실행됨

시간/분/초 단위로 sleep

아래와 같은 문법으로 특정 시간 만큼 지연시킬 수 있습니다.

sleep 1h 1m 10s # 1시간 1분 10초 대기

sleep 1m 10s    # 1분 10초 대기

sleep 10s       # 10초 대기

만약 0.5초 처럼, 1초보다 작은 시간을 대기해야 한다면 아래와 같이 소수점으로 표현하면 됩니다.

sleep 0.5   # 0.5초 대기

sleep 0.01  # 0.01초 대기

변수를 사용하여 대기

아래와 같이 sleep과 변수를 사용하여 일정 시간 대기시킬 수도 있습니다.

#!/bin/bash

duration=3
echo "시작"
sleep $duration
echo "${duration}초 후에 실행됨"

Output:

$ bash example.sh
시작
3초 후에 실행됨