在 bash 中选择不同的可执行文件

发布于 2024-11-27 09:53:32 字数 216 浏览 1 评论 0原文

当我想运行 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

萌无敌 2024-12-04 09:53:32

对于两个名称相同的可执行文件,请重新排序 PATH 变量中的路径,因为将使用第一个匹配项。

否则,请在 ~/.profile~/.bashrc 文件中定义别名:

alias make="/usr/sfw/bin/gmake"

或函数:

make() { /usr/sfw/bin/gmake "$@"; }

请注意,别名仅在交互模式下有效。脚本不会看到它们。在这种情况下使用函数。

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:

alias make="/usr/sfw/bin/gmake"

Or a function:

make() { /usr/sfw/bin/gmake "$@"; }

Note, that aliases work only in interactive mode. Scripts will not see them. Use functions in such case.

红衣飘飘貌似仙 2024-12-04 09:53:32

例如,您可以将 /usr/sfw/bin/gmake 链接到 /usr/bin,只要链接到的目录位于 PATH 变量中的 /usr/local/bin 之前
因此

    cd /usr/bin
    ln -s /usr/sfw/bin/gmake make

只需确保路径中没有 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

    cd /usr/bin
    ln -s /usr/sfw/bin/gmake make

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

恋你朝朝暮暮 2024-12-04 09:53:32

如果您手动运行 make 命令,则只需键入 gmake 而不是 make。它将运行 GNU 版本(假设您的 PATH)变量设置正确。

如果有 IDE 或其他工具调用 make,您需要告诉它使用 gmake 而不是 make,具体方法取决于您使用的工具。

If you're manually running the make command, then simply type gmake instead of make. It will run the GNU version (assuming that your PATH) 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文