百分号%在crontab中不起作用

问题描述 投票:8回答:1

我有curl的cron问题:

curl -w "%{time_total}\n" -o /dev/null -s http://myurl.com >> ~/log

效果很好,并在日志文件中添加一行与total_time。

但与cron相同的行没有做任何事情。

这不是路径问题,因为curl http://myurl.com >> ~/log有效。

bash curl cron crontab
1个回答
11
投票

%crontab的特殊角色。来自man 5 crontab

“第六”字段(行的其余部分)指定要运行的命令。该行的整个命令部分,直到换行符或“%”字符,将由/ bin / sh或由cronfile的SHELL变量中指定的shell执行。除非使用反斜杠(\)进行转义,否则命令中的“%”字符将更改为换行符,并且第一个%之后的所有数据将作为标准输入发送到命令。

所以你需要逃避%角色:

curl -w "%{time_total}\n" -o /dev/null -s http://myurl.com >> ~/log

curl -w "\%{time_total}\n" -o /dev/null -s http://myurl.com >> ~/log
         ^
© www.soinside.com 2019 - 2024. All rights reserved.