带有百分比符号的命令不在 crontab 中运行

lpa*_*ebr 11 cron

以下 crontab 不起作用:

# TEST LINE DOES DOT RUN
*/1 * * * * /bin/echo 'test '`/bin/date +%Y-%m-%d` >> /tmp/test
Run Code Online (Sandbox Code Playgroud)

我也尝试用以下方法启动它:

SHELL=/bin/bash
Run Code Online (Sandbox Code Playgroud)

更新:我认为反引号字符` 是恶棍,但正如下面的答案所阐明的百分比 % 是罪魁祸首!

DK *_*ose 13

/bin/date +%Y-%m-%d,你需要逃避每个%\根据本手册页

“第六个”字段(行的其余部分)指定要运行的命令。该行的整个命令部分,直到换行符或 % 字符,将由 /bin/sh 或由 cronfile 的 SHELL 变量中指定的 shell 执行。命令中的百分号 (%),除非用反斜杠 () 转义,否则将更改为换行符,第一个 % 之后的所有数据将作为标准输入发送到命令。

  • 谢谢!我将编辑问题以使其适合实际问题。 (2认同)