为什么bash short curcuit在crontab中失败?

时间:2017-09-12 08:50:25

标签: linux bash cron

如果我在终端中做

[ $(/usr/bin/date +"%Y%m%d") -le 20171209 ] && echo aaa >> /tmp/a

它有效。如果我在crontab -e

* * * * *   echo aaa >> /tmp/a

然后它也有效。但如果我在crontab -e

* * * * *   [ $(/usr/bin/date +"%Y%m%d") -le 20171209 ] && echo aaa >> /tmp/a
然后没有任何反应。

/var/log/cron我看

Sep 12 08:36:01 enote CROND[8809]: (root) CMD ([ $(/usr/bin/date +")

问题

任何人都可以解释这个问题是什么吗?

1 个答案:

答案 0 :(得分:1)

百分号在crontab中具有特殊含义,必须转义# import the logging library import logging # Get an instance of a logger logger = logging.getLogger(__name__) def my_view(request, arg1, arg): ... if bad_mojo: # Log an error message logger.error('Something went wrong!')

\% man 5 crontab

/percent