您不必MANPATH在 Mac 上手动设置。

您不必MANPATH在 Mac 上手动设置。

我可以使用man gitwhenMANPATH设置为以下内容:

$ 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/.

相关内容