crontab中的%特殊性如何?

时间:2011-03-11 19:37:25

标签: bash crontab

在crontab中,你可以这样做吗?

* * * * * echo $( date +%F) >> /path/date.txt

1 个答案:

答案 0 :(得分:31)

crontab行的实际问题不是$()或反引号。问题是百分号%。它在crontabs中具有特殊含义。

从联系手册:

...
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

都在我的网站上工作。