升級到OS X 10.9后,系統默認的python已經升級到2.7.5了,所以以前通過ports安裝的2.7.3版本就沒有必要了。
于是就使用port卸載了。
sudo port uninstall --follow-dependents python27
完整的問題描述在這里(
stackoverflow)。
最后通過Google找到
答案,原來Bash會對命令的路徑解析進行緩存。
通過
hash -l 命令可以查看當前所有緩存的命令路徑:
? ~ $ hash -l
builtin hash -p /Users/adyliu/bin/hosts hosts
builtin hash -p /usr/bin/which which
builtin hash -p /usr/bin/host host
builtin hash -p /usr/bin/python2.6 python2.6
builtin hash -p /usr/bin/python2.7 python2.7
builtin hash -p /usr/bin/locate locate
builtin hash -p /usr/bin/python2.5 python2.5
builtin hash -p /usr/bin/du du
builtin hash -p /bin/cat cat
builtin hash -p /usr/bin/vim vim
builtin hash -p /usr/bin/sudo sudo
builtin hash -p /usr/bin/java java
builtin hash -p /usr/bin/uname uname
builtin hash -p /opt/local/bin/python2 python2
builtin hash -p /usr/local/bin/python3 python3
builtin hash -p /usr/bin/man man
builtin hash -p /usr/bin/less less
builtin hash -p /opt/local/bin/otool otool
builtin hash -p /bin/ls ls
builtin hash -p /usr/bin/python python
可通過如下命令之一清除緩存:
hash -r
hash -d python2.7
Bash 為了提高命令的解析速度,將解析過的命令的全路徑保存在hash表中,因此下次執行的時候就無需進行再次解析。
hash 有如下幾個參數:
-
-d [name]... 刪除某個命令的路徑緩存
- -r 刪除所有命令的路徑緩存
- -t [name] 列出某個命令的緩存路徑(如果有的話)
- -l 列出全部的路徑緩存
可使用 help hash 來查看幫助,不過文檔沒有格式化,比較難看。
[原文地址:
Bash命令路徑的緩存]
©2009-2014 IMXYLZ
|求賢若渴