`LESS=+/EXAMPLE\:` 是什么意思?

iso*_*mes 11 symbols less man

man parallel_tutorial(对于 GNU 并行)中,我发现了以下黑魔法:

LESS=+/EXAMPLE\: man parallel
Run Code Online (Sandbox Code Playgroud)

在搜索周围manmanlessbash,看来这可能有事情做了less 预处理,但我不知道,和前几尝试我做了搜索与此语法失败其他手册页。

+/...\:在 bash中是什么意思?

use*_*686 11

在 bash中没有任何意义。它是存储在该单个命令的 $LESS 环境变量中的一些任意文本。

但是当您运行时less,它会读取 $LESS 的内容并像命令行参数一样解释它们。通常这是您为其存储配置的地方。

less不是预处理器:它是一个简单的文本文件查看器,又名寻呼机。请注意,man它没有内置阅读器:它只是通过groff(实际的预处理器)生成文本,然后总是运行less或其他一些寻呼机滚动浏览它。该教程的作者假设您的系统将使用较少,因为它无处不在。)

less遇到以 a 开头的参数时+,其余部分将进一步解释为要模拟的命令或按键:例如,如果是,+G则 less 会假装您在打开文件后按下了 G,然后向下滚动。

在你的情况,假装你输入/EXAMPLE:打开该文件后。/less 中的搜索键/命令,其余的是要搜索的文本。

结果是该命令打开“parallel”的联机帮助页,然后向下滚动到标题为“EXAMPLE”的部分。


ber*_*ieb 7

正如grawity 的出色回答所表明的那样,这是向less寻呼机发出指令的一种方式。在这种特定情况下,使用 GNU Parallel 的手册和教程,可以轻松阅读示例。

正如您甚至可以从在线手册的目录中看到的,每个示例都以字符串开头EXAMPLE:,因此该命令LESS=+/EXAMPLE: man parallel可以让您通过按(for next match )跳转到第一个示例和后续示例n

例如:

跳过手册的屏幕截图

手动部分的每次跳转都是一个n按键