crontab中命令行中的百分号(%)需要做转义
发表时间:2018-10-17 15:11 | 分类:Linux | 浏览:1,239 次
比如
我在crontab -e中用命令
echo -e “`date ‘+%s’`\t$RANDOM” > /tmp/xxx
的话
命令行直接用没有问题
但写在cron里的时候
‘%’需要转义成’\%’
原因还没找到
原因终于找到了
在linux下看crontab的帮助
man 5 crontab
里有这么一段:
我在crontab -e中用命令
echo -e “`date ‘+%s’`\t$RANDOM” > /tmp/xxx
的话
命令行直接用没有问题
但写在cron里的时候
‘%’需要转义成’\%’
原因还没找到
原因终于找到了
在linux下看crontab的帮助
man 5 crontab
里有这么一段:
Percent-signs (%) in the command,
unless escaped with backslash (\), will be changed into newline charac-
ters, and all data after the first % will be sent to the command as
standard input.
大概意思是说
在cron文件的第六列,也就是命令列
百分号(%)被赋予了特殊含义
被看做是换行符,而且,其后面的内容被当做命令的标准输入
在cron文件的第六列,也就是命令列
百分号(%)被赋予了特殊含义
被看做是换行符,而且,其后面的内容被当做命令的标准输入
所以,要想正常使用百分号(%)的功能
需要在其前面添加转义符(\)
需要在其前面添加转义符(\)