![在 cron 命令中使用 %](https://linux22.com/image/806072/%E5%9C%A8%20cron%20%E5%91%BD%E4%BB%A4%E4%B8%AD%E4%BD%BF%E7%94%A8%20%25.png)
由于%
对 cron 来说具有特殊含义,我该如何将其用作命令的一部分?
我找到了这个页面http://www.hcidata.info/crontab.htm,其中提到管道echo
和sed
转义%
然后删除多余的\
,但在我的情况下,命令是date
,它不通过 STDIN 接受参数,所以这不起作用:
echo '+\%Y' | sed -e 's|\\||g' | date
我想我可以创建一个特殊的日期脚本,以我想要的格式输出日期,然后调用它,但我仍然想知道是否可以直接在 cron 命令中执行此操作。
谢谢!
答案1
这crontab(5)手册页说:
命令中的百分号 (%),除非使用反斜杠 () 进行转义,否则将被更改为换行符,[...]
因此您应该能够%
通过在字符前加上反斜杠来转义该字符\
:
00 15 * * * user date '+\%Y'
该\%
序列由 处理cron
,因此 shell 将看到该命令date '+%Y'
是 的正确调用date
。