首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在自定义手册页中包括外部文件或shell命令中的变量?

在自定义手册页中包括外部文件或shell命令中的变量?
EN

Stack Overflow用户
提问于 2017-07-21 00:11:42
回答 2查看 189关注 0票数 7

我正在编写一些自定义的man页面,我希望包括一些可能经常更改的内容,比如man页面的编写日期。

例如,一个是在git回购中,每当对其进行更改时,我都想更新它的man页面的日期,而不必手动进行。

是否有可能在#include文件中调用*roff变量或调用shell变量,或者使用标记文件,然后使用pandoc“编译”man页面?

我知道这是个奇怪的问题,但我没有遇到过类似的问题。

请注意,这与简单地在$MANPATH中包含要由man调用的手册页不同。

也就是说,我想用这样的方法:

.TH foo 10 "$(git log -n1 | grep Date | tail -c 31)" "$(git branch | grep "*")"

而不必每次都手动更改日期和分支/头名称。无论这是在“减价”中提供给pandoc还是其他东西,还是仅仅在roff文件中,我都不介意。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-03 15:33:28

考虑使用文档生成器语言(如man )编写[医]腹水页面的内容,该语言具有大多数所需的特性。asciidoc格式可以包括外部输入文件,并根据需要动态更改各种内容。

若要包含shell脚本,请参见Asciidoc中文字内部的替换

或者可以使用shell脚本生成一个配置文件,然后包含该文件。

如果这个答案目前还不明确的话,请提前道歉,因为它更像是一个软件推荐(没有任何实际代码),而不是一个真正的答案。

票数 2
EN

Stack Overflow用户

发布于 2017-08-01 23:32:34

我从示例行中看到,您正在使用Git -我相信您可以使用“预提交”git钩 (基本上是在处理提交之前运行的脚本)在每次提交时更新手册页的内容(并进行更改)。

例如,您可以在..git/hooks/pre文件中放置以下命令,以便在提交时随时更新手册页的内容:

sed -i "" "s/^.TH foo 1 \".*/.TH foo 1 \"$(date)\"/" path/to/manpage.roff git add path/to/manpage.roff

请注意,路径相对于git存储库的根。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45227031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档