在 OS X 10.8.3 下,有这样的环境:
$ bash --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin12)
Copyright (C) 2007 Free Software Foundation, Inc.
$ echo $PATH
/Users/r/Desktop/Beryl/usr/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:~/bin:/usr/local/bin:/usr/X11R6/bin
$PATH中有两个副本,irb
由以下人员正确报告which
:
$ which -a irb
/Users/r/Desktop/Beryl/usr/bin/irb
/usr/bin/irb
但是当我运行时,irb
我希望得到 /Users/r/Desktop/Beryl/usr/bin/irb; 相反,我得到/usr/bin/irb:
$ irb --version
irb 0.9.5(05/04/13) # this is the wrong version
$ /Users/r/Desktop/Beryl/usr/bin/irb --version
irb 0.9.6(09/06/30)
$ /usr/bin/irb --version
irb 0.9.5(05/04/13)
我没有任何别名。我应该提到我通过执行这个脚本启动了 bash:
#!/bin/sh
export PATH=/Users/r/Desktop/Beryl/usr/bin:${PATH}
exec /bin/bash
无论如何,为什么 bash 没有在 $PATH 中运行第一个实例?