/etc/crontab "test -x"는 무엇을 의미합니까?

/etc/crontab "test -x"는 무엇을 의미합니까?

/etc/crontab파일에는 다음이 있습니다.

# m h dom mon dow user  command
17 *  * * * root    cd / && run-parts --report /etc/cron.hourly
25 6  * * * root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6  * * 7 root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6  1 * * root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

이것이 실제로 무엇을 하는지는 알지만 명령줄을 이해하지 못합니다.

"테스트"라는 남자는 전혀 도움이 되지 않습니다.

test - check file types and compare values

어떤 도움이라도 대단히 감사하겠습니다.

답변1

FreeBSD에서 man test: [1]

 -x file       True if file exists and is executable.  True indicates only
               that the execute flag is on.  If file is a directory, true
               indicates that file can be searched.

그래서 cronjobs는 그것이 anacron설치되었는지 테스트하고 [2] (즉, 예상 위치에 anacron이라는 실행 파일이 있음) 무언가를 실행합니다.그렇지 않다면- 즉, 해당 폴더의 스크립트입니다 /etc/cron.*.

(1)Bash의 내장 옵션에는 test동일한 -x옵션이 있습니다

(2) Anacron은 항상 실행되지 않는 컴퓨터, 즉 실행할 작업이 있는 경우를 위해 설계된 크론 대체 프로그램입니다.주간, 실행됩니다주간, 컴퓨터 가동 시간 대비즉, 매주 금요일이 아니라 가동 시간 24*7시간마다 실행된다는 의미입니다. (편집하다다 틀렸어요 댓글 보세요)

답변2

동일한 작업을 [ -x <filename> ]수행하여 파일이 존재하고 실행 가능한지 테스트하는 데 익숙할 수 있습니다 .test -x <filename>

답변3

매뉴얼 페이지에 인용된 대로 test는 조건식 expr을 평가하고 반환 상태로 종료된다는 점에서 eval과 매우 유사합니다. 테스트는 파일 유형을 표현식으로 결정하는 데 사용되는 경우가 많습니다. 이 경우 테스트는 true 또는 false를 반환하는지 확인하는 데 사용됩니다. crontab에서 test -x filename파일 이름이 표현식으로 사용됩니다. 이는 와도 같습니다 [ -x filename ]. 파일이 존재하고 실행 가능하면(비트 세트) true를 반환합니다. man test파일 조건식 및 기타 유효한 셸 표현식을 평가하기 위한 다양한 유형의 옵션에 대한 명시적인 세부 정보가 제공됩니다.

예를 들어:

test -1 -gt -2 && echo yesyes로 인쇄됩니다.

test 0x100 -eq 1 오류 --> 테스트: -eq 앞에 정수 표현식이 필요합니다.

관련 정보