哪个不显示实际运行的可执行文件的位置
我的系统上有一个 SVN 版本,位于 /usr/bin/svn 中。这太旧了,无法与某些存储库一起使用,因此我在 /home/user/built/bin/svn 中编译了一个较新的版本,该版本工作正常。我将其添加到我的路径中,因此应该首先运行它。
打字
which svn
产生
/home/user/built/bin/svn
但打字
svn --version
显示我们仍然使用旧版本。如果我运行
/home/user/built/bin/svn --version
,则会显示正确的版本。
由于自定义版本位于我的 $PATH 中的第一个,并且它首先列出它,为什么当我运行 svn 时会调用旧版本?我想哪个使用你的 $PATH 以与 shell 相同的方式查找可执行文件?
I have a version of SVN on my system in /usr/bin/svn. This is too old to use with some repositories so I compiled a newer version in /home/user/built/bin/svn which works fine. I added this to my PATH so it should be run first.
Typing
which svn
produces
/home/user/built/bin/svn
however typing
svn --version
reveals that it us using the old version still. if I run
/home/user/built/bin/svn --version
then the correct version is displayed.
Since the custom version is first in my $PATH, and which lists it first why is the older version being invoked when I run svn? I thought which used your $PATH to find executables in the same fashion as the shell?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
用于
弄清楚 (a) 它是什么,(b) 它在哪里或其定义是什么。还要检查 PATH 是否确实包含您认为的内容
Use
to figure out (a) what it is, (b) where it is or what its definition is. Also check that PATH really contains what you think it does
类型给出:
运行
现在已经解决了问题!
归功于OP
Type gives:
Running
has now fixed the problem!
Credit to the OP
你确定你的路径中的其他地方没有到 svn 的符号链接吗?
You sure you don't have a symbolic link to svn somewhere else in your path?