系统:Xubuntu 13.10
当我有这个crontab条目
*/5 * * * * cat /home/dbk/.bash_aliases &> /home/dbk/Desktop/junk
垃圾的字节大小为0.
运行
$cat /home/dbk/.bash_aliases &> /home/dbk/Desktop/junk
给出一个具有适当大小和内容的文件.
最佳答案
探测因为cron用sh运行任务. &安培;>是一个快捷方式,将stderr和stdout重定向到bash中的同一个文件,而不是sh.
在sh中,你的命令:
cat /home/dbk/.bash_aliases &> /home/dbk/Desktop/junk
意思是分别运行两个命令:
>在后台运行cat /home/dbk/.bash_aliases
cat /home/dbk/.bash_aliases&
>截断垃圾文件.
> /家庭/ DBK /桌面/垃圾
所以你应该使用bash在crontab中运行你的命令:
*/5 * * * * bash -c "cat /home/dbk/.bash_aliases &> /home/dbk/Desktop/junk"
或使用更便携的方式:
*/5 * * * * cat /home/dbk/.bash_aliases > /home/dbk/Desktop/junk 2>&1
相关文章
转载注明原文:shell – 为什么crontab中的重定向会导致零字节文件? - 代码日志