我读到过,我们可以使用 date 命令确定 Bash 中的当前日期,如下所示:
NOW=$(date +"%Y-%m-%d")
在我的 crontab 中,我将日志附加到文件中,并想用它将日期放在文件名末尾,如下所示:
cd /x/y/z/ && mycommand &>> /x/y/z/logs/mylog_$(date '+%Y%m%d').txt
但是,这并没有按预期工作。我收到以下错误消息,我不明白...我不知道它指的是什么。我对使用 cron 作业还很陌生。
/bin/sh: -c: line 0: unexpected EOF while looking for matching `''
/bin/sh: -c: line 1: syntax error: unexpected end of file
答案1
百分号%
是 cron 自己的特殊字符。它在文本输入到 shell 之前被解释(因此它是解释为单引号等)。您需要在 crontab 中使用反斜杠对其进行转义\%