阅读和搜索长手册页

阅读和搜索长手册页

当我想阅读有关内容时,我终于厌倦了巴什read和 的-s选项man bash。我最终找到了正确的位置(大约第 4500 行),但这和往常一样令人沮丧,因为两者/read甚至/\s-s\s搜索都有太多匹配项。

所以,问题是:我如何有效地阅读长手册页,或以其他方式获取相同的信息,本地?举个具体的例子,read -s pwd在shell脚本中看到后如何到达相关文档?一个好的答案可能是 shell 脚本片段,或者有关某些工具及其使用方式的提示,或者完全是其他东西,只要它有助于找到正确的阅读位置即可。

注意:我没有标记因为我希望问题是关于一般的手册页阅读,尽管这很可能是最常遇到的巨大手册页。

答案1

要快速获取有关 Bash 内置命令的帮助,请使用help

help read

就是你想要的。

对于类似手册页的格式,请使用

help -m read

或者,甚至更好,

help -m read | less

如果您仍然坚持在手册页中查找它,我发现快速让我找到命令的解释是

/^\s*read [[]

这是有效的,因为当第一次解释命令时,它的名称会从行的开头稍微缩进。在 的特定情况下read,在找到实际read文档之前需要进行一些浏览,因为(出于明显的原因)“阅读”一词在整个手册页中多次重复。 [[] 表示匹配通常位于可选参数之前的 [。 (我通常省略 /^\s* 并简单地执行 /<内置命令> [[])

另一种选择

如果您不介意格式更改,可以将手册页转换为 DVI 或 PDF 文件:

man -T dvi bash >bash.dvi

或者

man -T ps bash | ps2pdf - bash.pdf # Requires the Ghostscript suite for ps2pdf

当然,如果有 DVI 或 PDF 文档,您就可以轻松地进行文本搜索。

答案2

方法一

man bash然后/read \[然后/-s

方法2

您可以尝试使用一个开源工具来解释命令行参数,称为解释shell

可以在本地使用。阅读有关的文档https://github.com/idank/explainshell

注意事项:通常有效,但只能使用 Ubuntu 手册页存储库中的命令

在你的情况下,它无法识别-sswitch in read -s pwd

方法3

我发现了另一个看起来很有前途的工具,但它不适用于我的系统。

解释:Unix 命令的简短文档

答案3

在这种情况下我通常做的就是运行man,搜索SHELL BUILTIN COMMANDS标题,然后搜索内置,即

man bash
/^SHELL BUILTIN
/  read 

但是,在 bash 中你可以这样做

help read

或者,根据系统的不同,

man 1 read
man bash-builtins

一般来说,我有一个名为he(“简短的帮助”)来做到这一点。你可以像这样运行它:

he bash read

答案4

为了直接跳转到 bash 手册页的 SHELL BUILTINS COMMANDS 部分,我在文件中定义了以下别名$HOME/.bash_aliases

alias man-builtin="man -P 'less -p ^SHELL\ BUILTIN\ COMMANDS' bash"

相关内容