哪个不显示可执行文件的实际运行位置

时间:2011-01-05 16:29:53

标签: linux path suse which

我的系统在/ usr / bin / svn中有一个SVN版本。这太旧了,无法与某些存储库一起使用,因此我在/ home / user / built / bin / svn中编译了一个较新的版本。我把它添加到我的PATH中,所以它应该先运行。

输入

which svn

生成

/home/user/built/bin/svn

然而输入

svn --version

显示我们仍旧使用旧版本。如果我跑

/home/user/built/bin/svn --version

然后显示正确的版本。

由于自定义版本是我的$ PATH中的第一个,并且首先列出它,为什么在运行svn时调用旧版本?我认为哪个使用你的$ PATH以与shell相同的方式查找可执行文件?

[编辑]类型给出:

type svn
svn is hashed (/usr/bin/svn)

使用

hash -r

现在已经解决了问题!谢谢您的帮助。 :)

3 个答案:

答案 0 :(得分:3)

使用

type svn

弄清楚(a)它是什么,(b)它在哪里或它的定义是什么。还要检查PATH是否真的包含您的想法

echo $PATH

答案 1 :(得分:1)

输入:

type svn
svn is hashed (/usr/bin/svn)

运行

hash -r 

现在已经解决了这个问题!

感谢 OP

答案 2 :(得分:0)

您确定在路径中的其他位置没有svn的符号链接吗?