为什么第一个条目没有运行?
* * * * * cat <(date) >>~/output1.txt
* * * * * echo $(date) >>~/output2.txt
output1.txt 和 output2.txt 中的预期当前日期。只得到output2.txt。
第二个带有命令替换的条目有效。为什么不使用进程替换的条目?
crontab -n
不报告任何语法错误。
进程替换是 Bash 特有的功能,因此需要 Bash 才能运行。
cron
传统上使用 sh
。
(即使
sh
是bash
也不起作用,因为在bash的兼容模式下进程替换被禁用)
为了避免这种和其他令人惊讶的 crontab 行为(例如百分号的解释)带来的麻烦,请将命令放入带有适当 shebang 的脚本文件中,然后让 crontab 调用它。