date
"현재"(예: 출력)가 지정된 범위 내에 있는지 테스트하는 스크립트를 개발해야 합니다 . 현재 범위는 한 달의 날짜 목록이어야 합니다(예 10,11,12,13,21,22,23
: ). 코드를 직접 작성할 수 있습니다.
그러나 나는 직접 코딩하는 것보다 기존 도구를 사용하는 것을 선호합니다. 범위 요구 사항은 계속 변경될 것으로 예상되며, 아마도 하루 중 특정 시간으로 제한될 가능성이 높습니다. 어쩌면 특정 요일에도 그럴 수도 있습니다. 그래서 우리 모두가 알고 있는 cron 구문을 생각해 봤습니다.
질문:주어진 날짜시간이 cron 구문 등의 범위 "내부"에 있는지 확인할 수 있는 도구가 있습니까? (cron 구문을 사용하지 않는 도구도 작동합니다.)
답변1
한 가지 가능한 접근 방식은 1970년 1월 1일 00:00 이후의 초 수인 에포크 시간을 사용하는 것입니다.
먼저 현재 날짜와 시간을 생성합니다.
CDATE=$(date +%s)
그런 다음 두 개의 다른 날짜를 생성합니다.
F1DATE=$(date -d "11:02 Feb 14 1999" +%s)
F2DATE=$(date -d "12:20 Feb 14 2024" +%s)
그런 다음 와 사이에 CDATE
있는지 비교하십시오 .F1DATE
F2DATE
if [ "$CDATE -gt "$F1DATE" ] && [ "$CDATE" -lt "$F2DATE" ]
then # do the job
fi