我有一个以下格式的shell脚本:
cd /path/a/
make
cd /path/b/
make
cd /path/c/
make
每个make命令在不同的目录中彼此独立。我想通过在后台使用'&'来运行不同的make命令来加速脚本。
cd /path/a/
make &
cd /path/b/
make &
cd /path/c/
make &
这会有用吗?当第一个make命令正在运行时,目录已在下一行中更改为/ path / b /。这会影响后台的第一个表达吗?
编辑:我怀疑这种方法是否会让这个过程更快,并且想知道这些是否需要在不同的进程中运行。
答案 0 :(得分:2)
那应该没问题。在读取makefile之前,make
也接受-C
选项来更改其目录。所以你也可以这样做:
make -C /path/a/ &
make -C /path/b/ &
make -C /path/c/ &
答案 1 :(得分:1)
我相信make
采用-f
命令行参数,您只需指定所需的makefile即可。所以,这应该工作:
make -f /path/a/makefile &
make -f /path/b/makefile &
make -f /path/c/makefile &