man
默认情况下(至少在 Fedora 14 及更高版本上)具有新行为,它在与PATH
环境变量对应的路径中搜索,即PATH=/xyz/bin
它搜索/xyz/bin/man
,/xyz/share/man
以及其他附近的地方。除非MANPATH
设置。
你需要unset MANPATH
在你的最后.bash_profile
,一些启动脚本/etc
可能会设置它来惹恼你。
如果您没有使用 -M 或 MANPATH 指定显式路径列表,man 会根据配置文件 /etc/man.config 的内容开发自己的路径列表。配置文件中的 MANPATH 语句标识要包含在搜索路径中的特定目录。
此外,MANPATH_MAP 语句根据您的命令搜索路径(即您的 PATH 环境变量)添加到搜索路径。对于可能在命令搜索路径中的每个目录,MANPATH_MAP 语句指定一个目录,该目录应添加到手册页文件的搜索路径中。man 查看 PATH 变量并将相应的目录添加到手册页文件搜索路径中。因此,通过正确使用 MANPATH_MAP,当您发出命令 man xyz 时,您会获得一个手册页,说明您发出命令 xyz 时将运行的程序。
此外,对于命令搜索路径中没有 MANPATH_MAP 语句的每个目录(我们将其称为“命令目录”),man 会自动查找“附近”的手册页目录,即作为子目录命令目录本身或命令目录的父目录中。
您可以通过在 /etc/man.config 中包含 NOAUTOPATH 语句来禁用自动“附近”搜索。