在man parallel_tutorial(对于 GNU 并行)中,我发现了以下黑魔法:
LESS=+/EXAMPLE\: man parallel
Run Code Online (Sandbox Code Playgroud)
在搜索周围man页man,less和bash,看来这可能有事情做了less 预处理,但我不知道,和前几尝试我做了搜索与此语法失败其他手册页。
+/...\:在 bash中是什么意思?
use*_*686 11
它在 bash中没有任何意义。它是存储在该单个命令的 $LESS 环境变量中的一些任意文本。
但是当您运行时less,它会读取 $LESS 的内容并像命令行参数一样解释它们。通常这是您为其存储配置的地方。
(less不是预处理器:它是一个简单的文本文件查看器,又名寻呼机。请注意,man它没有内置阅读器:它只是通过groff(实际的预处理器)生成文本,然后总是运行less或其他一些寻呼机滚动浏览它。该教程的作者假设您的系统将使用较少,因为它无处不在。)
当less遇到以 a 开头的参数时+,其余部分将进一步解释为要模拟的命令或按键:例如,如果是,+G则 less 会假装您在打开文件后按下了 G,然后向下滚动。
在你的情况,少假装你输入/EXAMPLE:打开该文件后。/是less 中的搜索键/命令,其余的是要搜索的文本。
结果是该命令打开“parallel”的联机帮助页,然后向下滚动到标题为“EXAMPLE”的部分。
正如grawity 的出色回答所表明的那样,这是向less寻呼机发出指令的一种方式。在这种特定情况下,使用 GNU Parallel 的手册和教程,可以轻松阅读示例。
正如您甚至可以从在线手册的目录中看到的,每个示例都以字符串开头EXAMPLE:,因此该命令LESS=+/EXAMPLE: man parallel可以让您通过按(for next match )跳转到第一个示例和后续示例。n
例如:
(手动部分的每次跳转都是一个n按键)
| 归档时间: |
|
| 查看次数: |
491 次 |
| 最近记录: |