这是以下的输出which -a autoconf
:
/usr/bin/autoconf
/usr/bin/autoconf
/home/amumu/root/bin/autoconf
我想在我的主目录中使用 autoconf,因为与服务器中的默认版本相比,它是较新的版本。如何将其设置为默认值?我不想覆盖/usr/bin/autoconf
或写入/usr/local/bin
答案1
您可以更改在您的主目录中选择PATH
的内容:autoconf
PATH=/home/amumu/root/bin:${PATH}
export PATH
如果该位置可用,这将导致autoconf
从 中选取。/home/amumu/root/bin
答案2
您可以定义一个在文件autoconf
中命名的函数:.bashrc
autoconf() {
/home/amumu/root/bin/autoconf "$@"
}
您应该注销并再次登录,或启动新终端以查看更改:
$ type autoconf
autoconf is a function
autoconf ()
{
/home/amumu/root/bin/autoconf "$@"
}
autoconf is /usr/bin/autoconf
在这种情况下,当您autoconf
在终端中输入时,将使用您自己的版本.bashrc
而不是 system /usr/bin/autoconf
。
答案3
考虑使用别名:
alias autoconf="/home/amumu/root/bin/autoconf"
(我使用 bash 语法alias
)。将此行添加到您的~/.bashrc
或等效项中,以便为每个 shell 会话自动定义此别名。
这样做的好处是不会向PATH
恰好位于同一目录中的其他可执行文件添加其他可执行文件。一些缺点是别名在 shell 脚本中默认不起作用,并且对最终用户来说不太透明(which
例如,别名不会显示在 中)。