在我的环境中,我安装了不同于 openSSH 的其他供应商 SSH 服务器,以满足我们的环境需求。例如,当我发出 man ssh 命令时,我希望它指向新的供应商 ssh 服务器手册页,而不是 openssh 手册页。到目前为止,我看到的唯一方法是将所有手册页从新的 ssh 服务器物理复制到 /usr/local/man 目录。有谁知道更简单/更干净的方法来做到这一点,比如一个配置文件,指向 man 查看我将提供目录的新 man 条目?
答案1
您可以man
使用环境变量 来控制查找的内容MANPATH
。其工作方式与PATH
变量相同。目录以冒号分隔,即":"
。只需将目录添加到其开头即可覆盖man
查找手册页的位置。
在 bash shell 中:
% export MANPATH=/some/new/dir:$MANPATH
你可以用以下命令查看它的设置:
% echo $MANPATH
如果它是空的,请不要感到惊讶。man
使用配置文件,/etc/man.config
该文件决定man
应该在哪里查找手册页。它将有如下条目:
MANPATH /usr/man
MANPATH /usr/share/man
MANPATH /usr/local/man
MANPATH /usr/local/share/man
MANPATH
您可以使用命令查看这些条目以及变量的效果manpath
。
% echo $MANPATH
% manpath
/usr/kerberos/man:/usr/local/share/man:/usr/share/man/en:/usr/share/man:/usr/local/man