關於新的man版本出現“無法解析 /usr/share/man/zh_CN/man1/ls.1.gz: 沒有那個文件或目錄“

今天學習了下man,有關詳細資料參考:http://www.cnblogs.com/hnrainll/archive/2011/09/06/2168604.html


toor@door:/usr/share/doc/man-db/examples$ man ls

man: 無法解析 /usr/share/man/zh_CN/man1/ls.1.gz: 沒有那個文件或目錄


版本

toor@door:~$ man --version
man 2.5.7


原因:因爲新的man支持環境變量了。查看幫助:


NAME
       man - 格式化並顯示在線幫助手冊頁
       manpath - 定義用戶查找man手冊頁的路徑

     ...此處省略n字...

       LANG   如果   LANG   有定義,它的值將指定man在查找文檔時首先查找的子目錄。因此,命令“LAN   G=dk  man  1
              foo”會使man在查找man頁時首先查找../dk/man1/foo.1,如果在其中沒有找到相
              關文檔,則查找../man/foo.1,此目錄是由查找路徑指定的。

       NLAPATH,
              環境變量   NLAPATH   和  LC_MESSAGES  (或當後一個不存在時使用  LANG  )充當了定位文檔目錄的
              角色。(但英文信息是編譯進命令的,所以針對英文而言,就沒有目錄存在)。注意,象col    (1)這樣被man調用的程序也使用象
              LC_CTYPE 這樣的變量。

       PATH   變量 PATH 是在解釋查找man手冊頁路徑時使用的。


shell中輸入:locale 查看本地locale

toor@door:~$ locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:en
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

所以如果你的系統沒有安裝manpages-zh中文手冊的時候會出現man: 無法解析 /usr/share/man/zh_CN/man1/ls.1.gz: 沒有那個文件或目錄的情況(即使是你在/etc/manpath.config中沒有設置中文搜索路徑,也會導致這個錯誤出現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章