在 bash 中选择不同的可执行文件
当我想运行 make
来生成一些可执行文件时,它总是使用位于 Sun make
的 在 /usr/local/bin/make
中,而不是在 /usr/sfw/bin/gmake
中找到 GNU make。
我如何告诉操作系统使用 GNU make 而不是 Sun 的?我需要以某种方式覆盖路径吗?
When I want to run make
to generate some executables it always uses the Sun make
located
at /usr/local/bin/make
rather than GNU make which can be found at /usr/sfw/bin/gmake
.
How can I tell the OS to use GNU make rather than Sun's? Do I need to overwrite the path somehow?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
对于两个名称相同的可执行文件,请重新排序 PATH 变量中的路径,因为将使用第一个匹配项。
否则,请在
~/.profile
或~/.bashrc
文件中定义别名:或函数:
请注意,别名仅在交互模式下有效。脚本不会看到它们。在这种情况下使用函数。
For two executables named identically, reorder paths in the
PATH
variable, since the first match will be used.Otherwise, define an alias in your
~/.profile
or~/.bashrc
file:Or a function:
Note, that aliases work only in interactive mode. Scripts will not see them. Use functions in such case.
例如,您可以将 /usr/sfw/bin/gmake 链接到 /usr/bin,只要链接到的目录位于 PATH 变量中的 /usr/local/bin 之前
因此
只需确保路径中没有 make 即可。
否则你总是可以调用 gmake 而不是 make 来使用 gnu-make 并将 make 留给 sun-version-make。
否则你可以使用上一篇文章中的别名
you can link /usr/sfw/bin/gmake to /usr/bin for example as long as the directory where you link it to is before /usr/local/bin in the PATH variable
thus
just be sure there is no make already in the path.
otherwise you always can call gmake instead of make to use gnu-make and leave make for the sun-version-make.
otherwise you can use the alias as in the previous post
如果您手动运行 make 命令,则只需键入
gmake
而不是make
。它将运行 GNU 版本(假设您的PATH
)变量设置正确。如果有 IDE 或其他工具调用
make
,您需要告诉它使用 gmake 而不是 make,具体方法取决于您使用的工具。If you're manually running the make command, then simply type
gmake
instead ofmake
. It will run the GNU version (assuming that yourPATH
) variable is set properly.If there's an IDE or some other tool that's invoking
make
, you need to tell it to use gmake rather than make and the way to do that depends on which tool you're using.