xylz,imxylz

          關(guān)注后端架構(gòu)、中間件、分布式和并發(fā)編程

             :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            111 隨筆 :: 10 文章 :: 2680 評(píng)論 :: 0 Trackbacks
          升級(jí)到OS X 10.9后,系統(tǒng)默認(rèn)的python已經(jīng)升級(jí)到2.7.5了,所以以前通過ports安裝的2.7.3版本就沒有必要了。
          于是就使用port卸載了。

              sudo port uninstall 
          --follow-dependents python27


          完整的問題描述在這里(stackoverflow)。
          最后通過Google找到答案,原來Bash會(huì)對(duì)命令的路徑解析進(jìn)行緩存。

          通過 hash -l 命令可以查看當(dāng)前所有緩存的命令路徑:

              ? 
          ~ $ hash -l
              builtin hash 
          -/Users/adyliu/bin/hosts hosts
              builtin hash 
          -/usr/bin/which which
              builtin hash 
          -/usr/bin/host host
              builtin hash 
          -/usr/bin/python2.6 python2.6
              builtin hash 
          -/usr/bin/python2.7 python2.7
              builtin hash 
          -/usr/bin/locate locate
              builtin hash 
          -/usr/bin/python2.5 python2.5
              builtin hash 
          -/usr/bin/du du
              builtin hash 
          -/bin/cat cat
              builtin hash 
          -/usr/bin/vim vim
              builtin hash 
          -/usr/bin/sudo sudo
              builtin hash 
          -/usr/bin/java java
              builtin hash 
          -/usr/bin/uname uname
              builtin hash 
          -/opt/local/bin/python2 python2
              builtin hash 
          -/usr/local/bin/python3 python3
              builtin hash 
          -/usr/bin/man man
              builtin hash 
          -/usr/bin/less less
              builtin hash 
          -/opt/local/bin/otool otool
              builtin hash 
          -/bin/ls ls
              builtin hash 
          -/usr/bin/python python

          可通過如下命令之一清除緩存:

              hash 
          -r
              hash 
          -d python2.7

          Bash 為了提高命令的解析速度,將解析過的命令的全路徑保存在hash表中,因此下次執(zhí)行的時(shí)候就無需進(jìn)行再次解析。
          hash 有如下幾個(gè)參數(shù):
          • -d [name]... 刪除某個(gè)命令的路徑緩存
          • -r 刪除所有命令的路徑緩存
          • -t [name] 列出某個(gè)命令的緩存路徑(如果有的話)
          • -l 列出全部的路徑緩存
          可使用 help hash 來查看幫助,不過文檔沒有格式化,比較難看。

          [原文地址: Bash命令路徑的緩存]

          ©2009-2014 IMXYLZ |求賢若渴
          posted on 2013-10-13 22:16 imxylz 閱讀(3222) 評(píng)論(0)  編輯  收藏 所屬分類: 技術(shù)

          ©2009-2014 IMXYLZ
          主站蜘蛛池模板: 通化县| 樟树市| 广西| 兴山县| 巨野县| 吴川市| 兴国县| 景宁| 抚州市| 哈巴河县| 曲阜市| 岳阳县| 禄劝| 馆陶县| 湖北省| 深圳市| 长武县| 永平县| 贺兰县| 永和县| 鄂尔多斯市| 通州区| 宁夏| 科技| 建昌县| 商都县| 宜兰市| 延安市| 鄯善县| 修文县| 新密市| 保亭| 湖口县| 贡山| 永春县| 富顺县| 永新县| 和硕县| 响水县| 大关县| 巴里|