我正在为我正在打包的程序编写手册页。如何显示我创建的联机帮助页文件,以检查它是否正确?有没有办法将我的文件直接传递给man
命令,而不是让它按名称搜索已安装的手册页?
我尝试做类似man myprog.1
和 之类的事情man < myprog.1
,但在这两种情况下我都收到错误消息,指出找不到手册页。
答案1
man
有一个读取本地文件的选项:-l
-l, --local-file
激活“本地”模式。格式化并显示本地手册文件,而不用搜索系统的手册集合。每个手册页参数都将被解释为正确格式的 nroff 源文件。不生成 cat 文件。
如果“-”被列为参数之一,则将从标准输入获取输入。如果未使用此选项,并且 man 无法找到所需的页面,则在显示错误消息之前,它会尝试像提供此选项一样操作,使用名称作为文件名并查找完全匹配的内容。
因此,您可以通过以下方式预览正在进行的工作:
man -l /path/to/manfile.1
答案2
对于早于该-l
选项的系统,“老派”方式是
nroff -man filename | more -s
答案3
我简单地用过
man ./path/to/man.1
您需要在路径中包含斜杠,否则它将搜索系统目录。适用于我拥有的 Linux 和 OS X 系统(后者没有-l
)。
$ cd /tmp
$ cp /usr/share/man/man1/ls.1 .
$ man ls.1
No manual entry for ls.1
$ man ./ls.1 # works
答案4
在 Solaris 上,-M
切换到man
将覆盖联机帮助页的搜索路径:-
man -M path/to/man myprog
您的联机帮助页文件必须驻留在与该部分和标记语言相对应的适当子目录中,例如:第path/to/man/man1/myprog.1
1 部分中的 nroff-联机帮助页。