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


11

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

LESS=+/EXAMPLE\: man parallel

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

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


您的突出显示部分没有\:缺少反斜杠。你是故意的吗?
mike65535 '18

@ mike65535,它是键入的,如果您单击“编辑”,则可以看到它。它不会显示。
Aganju

用另一个反斜杠转义\应该可以。简而言之,我可以编辑。
Orphevs

Answers:


11

bash并不意味着什么。它是一些任意文本,存储在该命令的$ LESS环境变量中。

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

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

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

就您而言,打开文件后您输入的假装更少/EXAMPLE:/less中的搜索键/命令,其余为要搜索的文本。

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


1
该教程的作者显然发现用普通英语很难表达。
user1686 '18年

好吧,这 GNU ...:P 很好的回答,我刚开始写这么好的时机时,弹出了!
伯吉卜

1
严格地说,冒号前的反斜杠相关的bash,因为它从具有特殊的意义,它并没有在停止结肠癌bash,尽管它可以在另一个shell。
AFH

1
@grawity本教程中的上下文是:“然后在“并行”中使用OPTIONS列表后查看“示例”(使用LESS = + / EXAMPLE \:“并行”)。您将如何用普通英语表达它?
奥莱丹吉'18

7

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

联机手册的目录中甚至可以看到,每个示例都以字符串开头EXAMPLE:,因此该命令LESS=+/EXAMPLE: man parallel可让您跳至第一个示例,通过按n下一个匹配项)跳至后续示例

例如:

手动跳过画面

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.