当前位置:  开发笔记 > 运维 > 正文

在Unix中,我可以在一个目录中运行'make'而不先cd到那个目录吗?

如何解决《在Unix中,我可以在一个目录中运行'make'而不先cd到那个目录吗?》经验,为你挑选了4个好方法。

在Unix中,我可以在一个目录中运行'make'而不先cd到那个目录吗?



1> bmotmans..:

make -C /path/to/dir


Grump - 这不是标准制作; 它必须是GNU扩展.既然你说Linux和Unix,你不清楚你想要什么,但是-C选项在Solaris 10(/ usr/ccs/bin/make),AIX(/ usr/bin/make)或者HP-UX 11.23(/ usr/bin/make).尽管如此,4分中有1分并不算太糟糕.
它也适用于BSD make,所以它不仅仅是一个GNU扩展.
确保'C'是大写的.

2> Dave C..:

如其他答案所述,make(1)有一个-C 选项; 几个命令有类似的选项(例如tar).值得注意的是,对于缺少此类选项的其他命令,可以使用以下命令:

(cd /dir/path && command-to-run)

这将在子shell中运行该命令,该子shell首先更改其工作目录(同时保留父shell的工作目录).这里&& 用来代替; 捕获无法更改目录的错误情况.



3> EnigmaCurry..:

如果您不想cd到目录的原因是因为您需要保留在当前目录中以便以后执行任务,则可以使用pushd和popd:

pushd ProjectDir ; make ; popd

进入ProjectDir,运行make,然后回到原来的位置.



4> korst1k..:

您也可以使用:

make --directory /path/to/dir

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有