【问题标题】:Show MAN formatted file or variable from STDIN in Linux/Darwin / NOT with RST/POD在 Linux/Darwin 中显示来自 STDIN 的 MAN 格式文件或变量/不使用 RST/POD
【发布时间】:2021-07-31 09:35:12
【问题描述】:

我有一个带有一些“使用”功能的脚本。它与参数/参数等相呼应。我知道我可以创建一个自定义 MAN 页面文件,例如:

.TH man 8 "09 May 2021" "1.0" "myscript man page"
.SH NAME
myscript \- do some stuff
.SH SYNOPSIS
myscript [STUFF]
.SH DESCRIPTION
myscript is very useful and blah blah blah lorem ipsum lorem ipsum lazy dog jump over the brown fox.

并阅读它就好了,所以它将显示为一个手册页

man ./man-file

无论如何,我想把它嵌入到脚本中;然后将其显示为从那里格式化的 MAN。我不想有一个外部文件。

简单的部分,很简单。在脚本中创建一个具有上述内容作为 MAN 语法的 var。现在,如何将其显示为 MAN 格式?

这是我的尝试,没有任何好的结果。

echo $man_text_var | man
man < <(echo $man_text_var)
echo $man_text_var | man /dev/stdin
man /dev/stdin <<EOF
   $man_text_var
EOF

有没有办法实现它?是的,我确实看到了Display man page from stdin 的帖子——但这并不能解决我的问题。不使用 RST 或 POD。

【问题讨论】:

  • 那么您看到重复的| man -l - 了吗?你认为它有什么作用?请不要删除问题并以完全相同的方式重新创建它们......如前所述,对于初学者来说,将echo $man_text_var 更改为echo "$man_text_va" - 这是 shellcheck.net 会告诉你的错误之一。然后将其通过管道传送到man -l -,如重复中所述 You can use the --local-file argument of the man command and specify - to read from stdin,请阅读 stackoverflow.com/questions/27802024/…

标签: bash shell formatting stdin manpage


【解决方案1】:

我可以使用 groff 解决这个问题,每个发行版都可以使用它。

echo "${x}" | groff -man -Tascii | less

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-12
    • 1970-01-01
    • 1970-01-01
    • 2017-10-17
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    相关资源
    最近更新 更多