我可以使用man git
whenMANPATH
设置为以下内容:
$ echo $MANPATH
/usr/local/opt/findutils/libexec/gnuman:/usr/local/opt/coreutils/libexec/gnuman:
然而,当它不包含尾随冒号时, man 说它找不到该条目:
$ echo $MANPATH
/usr/local/opt/findutils/libexec/gnuman:/usr/local/opt/coreutils/libexec/gnuman
$ man git
No manual entry for git
联机帮助页位于/Library/Developer/CommandLineTools/usr/share/man/man1/git.1
,我正在从我的主目录运行该命令。我知道尾随冒号告诉 man 也搜索当前目录MANPATH
,那么为什么它会导致 man 找到下面的条目/Library
呢?
答案1
您不必MANPATH
在 Mac 上手动设置。
与大多数基于 Unix 的系统不同,OS X 根据PATH
.相关规则在 中的“手册页搜索路径”部分中进行了描述manpath(1)
。
此配置文件过去曾位于其他位置,但目前位于/private/etc/man.conf
.该文件由 读取manpath(1)
,生成合适的搜索路径。但是,如果MANPATH
在 shell 中手动设置,则此行为将被禁用。
解决尾随问题:
尽管我在联机帮助页中找不到对此的确认,但似乎 ifMANPATH
在环境中设置了:
两端的 a ,环境的MANPATH
被添加到 的输出中manpath
。
例子:
$ MANPATH='.:' manpath
/Users/me/.:/usr/share/man:/usr/local/share/man
$ MANPATH='':.' manpath
/usr/share/man:/usr/local/share/man:/Users/me/.