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
          主站蜘蛛池模板: 黔江区| 平武县| 石家庄市| 苗栗市| 仁化县| 永定县| 滦南县| 云霄县| 怀集县| 若羌县| 肥东县| 永德县| 子长县| 长子县| 仪征市| 嘉鱼县| 乾安县| 定远县| 安远县| 吉林省| 承德市| 手游| 龙井市| 辽源市| 贵州省| 襄樊市| 大城县| 榆林市| 杭锦旗| 衡南县| 行唐县| 萍乡市| 新邵县| 乃东县| 民和| 凤台县| 龙海市| 南丰县| 孝感市| 崇阳县| 海阳市|