makefile中分号和双与号的区别

Hen*_*nry 3 makefile

我有一个关于 makefile 的问题(这里不讨论 Linux shell 或 bash)。make 文件中的分号和双与号有什么区别?

在第一台计算机上,以下工作:

cd code; ant clean compile jar run
Run Code Online (Sandbox Code Playgroud)

在第二台计算机上,上面的不起作用,而下面的起作用:

cd code && ant clean compile jar run
Run Code Online (Sandbox Code Playgroud)

上面的代码位于名为“makefile”的文件中。我想知道“&&”和“;”之间的区别。

谢谢

注意:我在第二台计算机上的分号错误消息是

cd code; ant clean compile jar run
The system cannot find the path specified.
make: *** [runant] Error 1
Run Code Online (Sandbox Code Playgroud)

arv*_*ved 5

请参阅https://serverfault.com/a/373053/85018以获得很好的解释:

这 ; 只是将一个命令与另一个命令分开。&& 表示只有在上一个成功时才运行以下命令

  • 该错误消息表明您使用的是 Windows。几个谷歌结果说分号不适用于cmd (2认同)