如何直接显示手册页?


16

我正在为要打包的程序编写手册页。如何显示我创建的联机帮助页文件,以检查其是否正常?有没有一种方法可以将我的文件直接传递给man命令,而不是让它按名称搜索已安装的手册页?

我尝试做类似的事情man myprog.1man < myprog.1但是在两种情况下,我都遇到一个错误,说找不到手册页。

Answers:


24

man 可以选择读取本地文件: -l

-l,--local-file

激活“本地”模式。格式化和显示本地手册文件,而不是搜索系统手册集。每个手册页参数都将以正确的格式解释为nroff源文件。没有生成cat文件。

如果将“-”列为参数之一,则输入将从stdin中获取。如果不使用此选项,并且man无法找到所需的页面,则在显示错误消息之前,它会尝试使用提供的此选项,将名称用作文件名并查找完全匹配的内容。

因此,您可以使用以下方法预览正在进行的工作:

man -l /path/to/manfile.1


2
这本质上是特定于Linux的。您可能需要相应地限制答案。
Thomas Dickey

5
@ThomasDickey我只使用Linux;欢迎您编辑或添加答案...
jasonwryan

15

对于早于该-l选项的系统,“守旧派”方式是

nroff -man filename | more -s

10

我只用了

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

1

在Solaris上,-M切换到man将覆盖手册页的搜索路径:

man -M path/to/man myprog

您的手册页文件必须位于与本节和标记语言相对应的适当子目录中,例如:path/to/man/man1/myprog.1对于第1节中的nroff-manpage。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.