我的 crontab 文件中有这一行
*/1 * * * * espeak 'foo' && espeak 'bar'
但只有一半,第一个命令每分钟执行一次。
当我在终端中写下这段文字时,它就像魔法一样起作用。
是否有不同的方法可以在 crontab 文件的同一行中执行两个命令?
答案1
&& 被解释为bash
命令行中分隔管道的运算符之一。如果您从bash
两者调用这些命令,则应该运行:
*/1 * * * * bash -c 'espeak "foo" && espeak "bar"'
答案2
在 crontab 中使用 && 是正确的。
如果第二条命令没有执行,则意味着第一条命令没有成功返回。然后您可能想使用espeak 'foo'; espeak 'bar'
(因此无论第一条命令返回什么,都会执行第二条命令),但这并不能告诉您为什么第一条命令没有成功返回。