2014-09-19 53 views
0

我想使用我下载的svn版本。但是,即使我将svn的环境变量导出到PATH中,它也不起作用。当我运行which svn它仍然显示/usr/bin/svn。这里是.bash_profile文件的样子;不能使用手动下载的svn二进制文件

export PATH="/usr/local/dev/git/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:$PATH" 

export SVN_HOME=/usr/local/dev/subversion-1.6 
export PATH=$PATH:$SVN_HOME/bin 
+0

'/ usr/local/dev/git/bin'' a + x'中的可执行文件是?你从'.bash_profile'获得了源吗? – jww 2014-09-20 02:44:02

回答

2

这条线:

export PATH=$PATH:$SVN_HOME/bin 

...后您PATH现有目录增加了颠覆目录。如果你想让它之前/usr/bin,你必须把它写这种方式:

export PATH=$SVN_HOME/bin:$PATH 

如果这不是很明显,尝试echo $PATH外壳上。你会看到,为了看起来像这样:

  • /usr/local/dev/git/bin
  • /usr/local/bin
  • /usr/bin
  • /usr/local/sbin
  • (不管默认的系统$PATH是)
  • ​​

因此PATH上的第一个svn仍然是/usr/bin中的一个。

-a标志which也可以在这里有所帮助:

$ which -a svn 
/usr/bin/svn 
/usr/local/dev/subversion-1.6/bin/svn 

第一个是获取运行的一个。

+0

这有效!我首先想到它覆盖了第一个svn目录。不过,非常感谢。 – quartaela 2014-09-22 06:01:02