系统:Xubuntu 13.10
当我有这个 crontab 条目时
*/5 * * * * cat /home/dbk/.bash_aliases &> /home/dbk/Desktop/junk
junk
字节大小为0
.
跑步
$ cat /home/dbk/.bash_aliases &> /home/dbk/Desktop/junk
给出一个具有适当大小和内容的文件。
答案1
探针因为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 &
截断垃圾文件。
> /home/dbk/Desktop/junk
因此,您应该使用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