crontab에서 이와 비슷한 작업을 수행 할 수 있습니까?% 어떻게 crontab에서 특별합니까?
* * * * * echo $(date +%F) >> /path/date.txt
crontab에서 이와 비슷한 작업을 수행 할 수 있습니까?% 어떻게 crontab에서 특별합니까?
* * * * * echo $(date +%F) >> /path/date.txt
당신의 crontab 라인의 실제 문제는 $()
또는 역 인용 부호가 아닙니다. 문제는 백분율 기호 %
입니다. crontab에는 특별한 의미가 있습니다. 맨 페이지에서
...
Percent-signs (%) in the command, unless escaped with backslash (\),
will be changed into newline characters, and all data after the
first % will be sent to the command as standard input.
...
당신이 예상대로 작동합니다 \
와 퍼센트 기호를 벗어날 경우
* * * * * echo $(date +\%F) >> /tmp/date.txt
또는
* * * * * echo `date +\%F` >> /tmp/date2.txt
내 사이트에서 모두 작동합니다.
백 슬래시가 쉘로 전달된다는 점에 유의하십시오. 셸이 백 슬래시를 없애기 때문에 위의 코드가 작동하지만 http://www.hcidata.info/crontab.htm에 따라 셸에서 문자열 내에 백 슬래시가 남습니다. –
나는 복수와 함께 cron을 싫어합니다. – Willem
mail this me me. /bin/sh -c " /bin/sh : -c : 줄 1 : 구문 오류 : 예기치 않은 EOF (예상치 못한 EOF) 파일의 끝 – JuanPablo
그건 [echo'의 쓸모없는 사용이다] (http://www.iki.fi/era/unix/award.html#echo),'echo $ (foo)'와 비슷한 것은 쉘이 공백 문자를 정규화하고'foo '의 출력에서 와일드 카드를 확장하도록하기 위해 따옴표로 묶지 않은 명령 대체를 사용하지 않는 한 – tripleee