我已经获得了 GNU Fortran 内部过程的手册页(关联)。克隆 repo 后,手册页本身位于目录中~/Documents/fortran-man-pages/man3f
,每个文件都是以 结尾的文件*.3f
,例如,该ajdustl
函数记录在 中adustl.3f
。我希望man
能够“看到”这些页面,因此我已将它们复制到/usr/local/share/man/man3f
。理论上,man
应该知道去那里查看,因为/usr/local/share/man
是 列出的目录之一man --path
。但没有成功:
$ man adjustl
No manual entry for adjustl
$ man 3f adjustl
No entry in section 3f of the manual
$ man -M /usr/local/share/man adjustl
No manual entry for adjustl
$ man -k adjustl
Nothing appropriate
由于man
知道该目录中的其他页面,这变得更加令人困惑:
$ man -w gs
/usr/local/share/man/man1/gs.1
但是关于...
$ man -K adjustl
(long pause...)
/usr/local/share/man/man3f/adjustl.3f? [ynq]
啊哈!所以这些页面在 的搜索路径上man -K
,但不在man
?我在尝试安装这些 Fortran 手册页时是否错过了某个步骤?我在 OS X 10.11.6 (El Capitan) 上。
答案1
man manpath
可能会有帮助。
我总是将手册页放在~/.config/share/man/...
通用~/.bashrc
文件中的此子句中,并将它们放在搜索路径中。
if [ -d $HOME/.local/share/man/man1 ]; then
which manpath >/dev/null 2>&1 && P="$(manpath 2>/dev/null)"\
|| P="$MANPATH"
case ":$P:" in
*:$HOME/.local/share/man:*) ;;
*) MANPATH="$P:$HOME/.local/share/man"
export MANPATH ;;
esac
fi
也就是说,如果manpath
已经知道它,或者$MANPATH
已经包含它,那么我什么也不做。否则,如果变量不存在,我$MANPATH
将从中创建。然后将我的路径添加到。manpath
$MANPATH
您可以将其更改为/usr/local/share/man/
。