为什么带有进程替换的 crontab 条目不运行?

问题描述 投票:0回答:1

为什么第一个条目没有运行?

* * * * * cat <(date) >>~/output1.txt
* * * * * echo $(date) >>~/output2.txt

output1.txt 和 output2.txt 中的预期当前日期。只得到output2.txt。

第二个带有命令替换的条目有效。为什么不使用进程替换的条目?

crontab -n
不报告任何语法错误。

cron
1个回答
0
投票

进程替换是 Bash 特有的功能,因此需要 Bash 才能运行。

cron
传统上使用
sh

(即使

sh
bash
也不起作用,因为在bash的兼容模式下进程替换被禁用)

为了避免这种和其他令人惊讶的 crontab 行为(例如百分号的解释)带来的麻烦,请将命令放入带有适当 shebang 的脚本文件中,然后让 crontab 调用它。

© www.soinside.com 2019 - 2024. All rights reserved.