zoukankan      html  css  js  c++  java
  • crontab条目包含%号问题

    crontab条目中包含%号,最常见的取时间,如:date +%d,
    对%需要使用进行转义,否则不能按预期执行,正确做法为:
    * * * * * echo "`date +\%d`" > /tmp/r1r.txt
    而不能为
    * * * * * echo "`date +%d`" > /tmp/r1r.txt


    %是crontab的特殊字符,所有%后的被当作了标准输入,这可以通过“ man 5 crontab”查看到说明:
    The entire command portion of the line, up to a newline or a "%" character,
    will be executed by /bin/sh or by the shell specified in the SHELL variable of the cronfile.
    A "%" character in the command, unless escaped with a backslash (), 
    will be changed into newline char-acters,
    and all data after the first % will be sent to the command as standard input.


    示例:
    $ cat /tmp/hello.txt 
    cat: /tmp/hello.txt: 没有那个文件或目录
    $ echo -e "`crontab -l` * * * * * cat > /tmp/hello.txt % hello word"|crontab -
    $ crontab -l|grep hello.txt
    * * * * * cat > /tmp/hello.txt % hello word
    $ cat /tmp/hello.txt 
     hello word
  • 相关阅读:
    Python函数
    linux—shell 脚本编程
    python 内建函数
    列表解析式(List Comprehension)
    python标准库(datetime)
    python字典(dict)
    常用数据结构
    C 2010年笔试题
    C 2012年笔试题(保)
    C 2012年笔试题
  • 原文地址:https://www.cnblogs.com/aquester/p/9891492.html
Copyright © 2011-2022 走看看