为什么第一个条目没有运行?
* * * * * cat <(date) >>~/output1.txt
* * * * * echo $(date) >>~/output2.txt
output1.txt 和 output2.txt 中均应包含当前日期。仅获得了 output2.txt。
第二个带有命令替换的条目有效。为什么带有进程替换的条目无效?
crontab -n
没有报告任何语法错误。
为什么第一个条目没有运行?
* * * * * 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 调用该文件。