적절한 시간이 아니라면 현재 시간을 확인하고 스크립트를 중단해야합니다. 또한 다른 사람이 실행하면 중단해야합니다.
예를 들어, 10 시부 터 오전 2시 (4 시간) 사이에 스크립트를 시작한 경우에만 스크립트를 실행해야합니다.
현재 나는 다음을하고있다. date +%k%M
하드 코딩 된 숫자로 시간을 보내고 비교
#!/bin/sh
currTime=`date +%k%M`
check_time_to_run()
{
tempTime=$1
if [ $tempTime -gt 200 -a $tempTime -lt 2200 ]; then
echo "Time is between 2 AM and 10 PM. Aborting."
exit 1
else
echo "Time is after 10 PM and before 2 AM. Running normally."
fi
}
check_time_to_run $currentTime
시간 비교 sh
또는 관련하여 다른 효율적인 방법이 있는지 알고 싶습니다 bash
.
@Eddy 아니오 날짜가 아닙니다. 비교할 시간입니다.
—
mtk
몇 초 만에 더 나을 것이라고 생각합니다.
—
Eddy_Em
currTime=$(date +%s); lower=$(date +%s --date="2:00"); upper=$(date +%s --date="22:00"); if [$currTime -gt $lower -a $currTime -lt $upper]; then
…
왜 스크립트를 crontab에 넣지 않습니까? 이렇게하면 특정 시간에 실행되도록 할 수 있습니다
—
BitsOfNix
date +%s
.