我有三个 vagrant box,通常需要同时使用,所以我创建了一个 Makefile 来同时启动它们。嗯,实际上是一个接一个。
Makefile 基本上是这样的:
up:
cd box1 && vagrant up;
cd box2 && vagrant up;
cd box3 && vagrant up;
他们一个接一个地开始,这意味着需要很多时间。但很多时间只是等待,并没有发生太多事情。所以我想我想并行启动它们以减少所需的时间。
简单地加一个&
aftervagrant up
是行不通的。如果我把它放在$()
,""
或之间,也不会``
。
我需要做什么才能使这些盒子并行启动?
顺便说一句,我用作zsh
外壳。
答案1
我现在可以自己回答这个问题了。 Makefile 应如下所示:
.PHONY: up box1_up box2_up box3_up
up: box1_up box2_up box3_up
box1_up:
cd box1 && vagrant up;
box2_up:
cd box2 && vagrant up;
box3_up:
cd box3 && vagrant up;
像这样调用:make -j3 up