带有百分号的命令未在crontab中运行
以下crontab不起作用:
# TEST LINE DOES DOT RUN */1 * * * * /bin/echo 'test '`/bin/date +%Y-%m-%d` >> /tmp/test
我也试过用它开始:
SHELL=/bin/bash
更新:我认为反击字符`是恶棍,但正如下面的答案澄清%百分比是罪魁祸首!
在/bin/date +%Y-%m-%d
,您需要根据此手册页使用\
来转义每个%
:
“第六个”字段(行的其余部分)指定要运行的命令。 该行的整个命令部分,直到换行符或%字符,将由/ bin / sh或由cronfile的SHELL变量中指定的shell执行。 除非使用反斜杠()进行转义,否则命令中的百分号(%)将更改为换行符,并且第一个%之后的所有数据将作为标准输入发送到命令。