在crontab中运行两个命令

我的crontab文件中有这一行

*/1 * * * * espeak 'foo' && espeak 'bar' 

但只有一半,第一个命令每分钟执行一次。

当我在终端上写这个时,它就像一个魅力。

是否有不同的方法在crontab文件的同一行中执行2个命令?

&&被bash解释为在命令行中分隔管道的运算符之一。 如果从bash调用这些命令,则应该运行:

 */1 * * * * bash -c 'espeak "foo" && espeak "bar"' 

在crontab中使用&&是正确的。

如果未执行第二个命令,则表示第一个命令未成功返回。 然后你可能想要使用espeak 'foo'; espeak 'bar' espeak 'foo'; espeak 'bar' (所以无论第一个命令返回什么,第二个命令都会被执行),但这并没有告诉你为什么第一个命令没有成功返回。