我想根据一周中某天的奇偶性命名文件。在终端中,以下工作:$(($(date +\%u)%2))
但这在cron中不起作用(我怀疑对数学表达式的评估不起作用)。
我该如何在cron中工作?
您逃脱了一个百分号,而没有逃脱另一个百分号:
$(($(date +\%u)%2))
^
HERE
crontab条目中的所有百分号都需要转义,因为%在此处具有特殊含义。引用crontab(5)联机帮助页:
该行的整个命令部分(最多换行符或%字符)将由/ bin / sh或crontab文件的SHELL变量中指定的shell执行。除非使用反斜杠()进行转义,否则命令中的百分号(%)将更改为换行符,并且第一个%之后的所有数据都将作为标准输入发送到命令。
诚然,该段的措词可以更好。
因此需要是:
$(($(date +\%u)\%2))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句