当我想运行make
生成一些可执行文件时,它始终使用位于的make
在/usr/local/bin/make
而不是GNU make,可以在/usr/sfw/bin/gmake
找到。
我如何告诉操作系统使用GNU make而不是Sun?我需要以某种方式覆盖路径吗?
答案 0 :(得分:5)
对于名为sameically的两个可执行文件,请重新排序PATH
变量中的路径,因为将使用第一个匹配项。
否则,请在~/.profile
或~/.bashrc
文件中定义别名:
alias make="/usr/sfw/bin/gmake"
或功能:
make() { /usr/sfw/bin/gmake "$@"; }
请注意,别名仅在交互模式下有效。脚本不会看到它们。在这种情况下使用函数。
答案 1 :(得分:2)
您可以将/ usr / sfw / bin / gmake链接到/ usr / bin,例如,只要您将其链接到的目录位于PATH变量中的/ usr / local / bin之前 从而
cd /usr/bin
ln -s /usr/sfw/bin/gmake make
确保路径中没有制作。 否则你总是可以调用gmake而不是make来使用gnu-make并将make留给sun-version-make。
否则您可以使用上一篇文章中的别名
答案 2 :(得分:1)
如果您手动运行make命令,则只需键入gmake
而不是make
。它将运行GNU版本(假设您的PATH
)变量设置正确。
如果有一个IDE或其他工具正在调用make
,你需要告诉它使用gmake而不是make,并且这样做的方式取决于你正在使用的工具。