我有我自己的程序叫automake,我最初写在Ubuntu机器上,最近想在我的机器上运行OSX Lion。为什么automake程序在osx上似乎有奇怪的查找优先级?
我编译它,它复制到我的/Users/andrew/bin
目录这是我PATH
变量中列出的第一个目录之一:
bash-3.2$ echo $PATH | tr : '\n'
.
/Users/andrew/bin
/opt/local/bin
/opt/local/sbin
/Users/andrew/Library/Application Support/GoodSync
/Users/andrew/.rvm/gems/ruby-1.9.3-p194/bin
/Users/andrew/.rvm/gems/[email protected]/bin
/Users/andrew/.rvm/rubies/ruby-1.9.3-p194/bin
/Users/andrew/.rvm/bin
.
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/usr/X11/bin
/Users/andrew/.rvm/bin
/Users/andrew/bin
/Users/andrew/.rvm/bin
然而,当我尝试运行automake的它显然是一个运行不同的automake程序。我认为这是的Xcode开发工具之一:
bash-3.2$ automake game.cpp
automake: error: no Automake input file found for 'game.cpp'
automake: error: no input file found among supplied arguments
这的automake版本位于/opt/local/bin
。我不明白的是,当我的automake位于我的PATH
变量的早期目录中时,这是如何实现的。事实上,UNIX which
程序显示的路径,我的automake:
bash-3.2$ which automake
/Users/andrew/bin/automake
什么巫术这是什么?