我试图得到一个cronjob管道输出到指定(文件夹)位置的过期文件。
我的crontab条目看起来像这样:
* * * * * /some/path/test.sh >> $(date "+/home/oompah/logs/%Y%m%d.test.log")
我不明白的是,当我在控制台输入这个命令,我得到正确的字符串:
echo $(date "+/home/oompah/logs/%Y%m%d.test.log") /home/oompah/logs/20110329.test.log
bash版本信息是:
GNU bash,版本4.1.5(1)-release(x86_64-pc-linux-gnu)
你应该排除crontab中的百分号:
原文链接:https://www.f2er.com/bash/389723.html* * * * * /some/path/test.sh >> $(date "+/home/oompah/logs/\%Y\%m\%d.test.log")
百分比(%)符号在crontabs中有特殊含义。它们被解释为换行符。