为什么我的手册页仅在使用 man 查看时格式不正确?
我正在为一个程序编写一个手册页,源代码如下所示:
.TH prog 1 "26 AUG 2010" "Version 0.1" "Center header"
.NAME
prog \- runs a program
.SH SYNOPSIS
.B prog
当我使用时,
$ groff -Tascii -man source.txt | more
输出几乎符合预期。
当我使用时:
$ groff -Tascii -man source.txt > prog.1 && \
sudo cp prog.1 /usr/local/man/man1/ && man prog
输出看起来像这样:
prog(2) sp; sp; 中心 &n公共服务提供商; 标题
程序(2)
名称
prog - 运行程序
版本 0.1 sp; sp; 26 八月 sp; 2010
我使用的是 Ubuntu 8.04。我已经验证它不是寻呼机,因为我也尝试了 man -P more
并且仍然有相同的奇怪输出。这是怎么回事?
I am writing a man page for a program, the source looks like this:
.TH prog 1 "26 AUG 2010" "Version 0.1" "Center header"
.NAME
prog \- runs a program
.SH SYNOPSIS
.B prog
When I use
$ groff -Tascii -man source.txt | more
the output is pretty much as expected.
When I use:
$ groff -Tascii -man source.txt > prog.1 && \
sudo cp prog.1 /usr/local/man/man1/ && man prog
the ouput looks like this:
prog(2) Center header
prog(2)
NAME
prog - runs a program
Version 0.1
26
AUG
2010
I'm on Ubuntu 8.04. I've verified that it isn't the pager because I also tried man -P more
and still had the same odd output. What's going on?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因为
man
在内部运行groff
本身 - 它并不期望您已经完成它。只需将source.txt
直接复制到/usr/local/man/man1/prog.1
中,它就应该可以正常工作。Because
man
runsgroff
itself internally - it's not expecting you to have done it already. Just copy yoursource.txt
straight into/usr/local/man/man1/prog.1
, and it should work fine.