首页 > tips > crontab中命令行中的百分号(%)需要做转义

crontab中命令行中的百分号(%)需要做转义

2010年8月4日 发表评论 阅读评论

比如
我在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文件的第六列,也就是命令列
百分号(%)被赋予了特殊含义
被看做是换行符,而且,其后面的内容被当做命令的标准输入

所以,要想正常使用百分号(%)的功能
需要在其前面添加转义符(\)

学习了一下。

分类: tips 标签: , , , ,
  1. 2010年8月6日11:55 | #1

    确实是不错~~~~~~

  2. wukoo
    2016年4月7日15:16 | #2

    特别偶然看到这篇文章,突然解决了我的问题,谢谢!

  1. 本文目前尚无任何 trackbacks 和 pingbacks.