Что означает `LESS = + / EXAMPLE \:`?

11

В man parallel_tutorial(для параллельной GNU) я обнаружил следующую черную магию:

LESS=+/EXAMPLE\: man parallel

Поиск вокруг в manстраницах man, lessи bash, похоже , что это может иметь что - то делать с less препроцессором , но я не уверен, и первые несколько попыток я сделал искать другие справочные страницы с этим синтаксисом не удалось.

Что +/...\:значит в bash?

isomorphismes
источник
В вашем выделенном разделе нет \: отсутствует обратная косая черта. Вы хотели?
mike65535
@ mike65535, оно набрано, если вы нажмете «изменить», вы можете увидеть его. Это не отображается, хотя.
Аганю
Выход из \ с другой обратной косой чертой должен работать. Короче для меня, чтобы редактировать все же.
Орфевы

Ответы:

11

Это ничего не значит в bash . Это некоторый произвольный текст, который сохраняется в переменной окружения $ LESS для этой единственной команды.

Но когда вы запускаете less, он читает содержимое $ LESS и интерпретирует их так же, как аргументы командной строки. Обычно это то место, где вы должны хранить конфигурацию для него.

( less не является препроцессором: это простой просмотрщик текстовых файлов, он же пейджер. Обратите внимание, что у manнего нет встроенного считывателя: он просто генерирует текст через groff (фактический препроцессор), затем всегда запускает less или другой пейджер для прокрутите его. Авторы этого учебника предполагают, что ваша система будет использовать меньше, потому что она настолько вездесуща.)

Когда less сталкивается с аргументами, начинающимися с a +, остаток далее интерпретируется как команды или нажатия клавиш для имитации: например, если бы +Gтогда было меньше, вы бы сделали вид, что нажали G после открытия файла, и прокрутите вниз.

В вашем случае меньше притворяется, что вы набрали /EXAMPLE:после открытия файла. /это ключ / команда поиска меньше , а остальное - текст для поиска.

Результатом является то, что команда открывает man-страницу «параллельно», а затем прокручивает страницу вниз до раздела «ПРИМЕР».

user1686
источник
1
Что автор учебника, по-видимому, сочли слишком сложным для выражения на обычном английском.
user1686
Ну, это является GNU ...: P Отличный ответ кстати, появился так же , как я начал писать так хорошо времени тоже!
bertieb
1
Строго говоря, обратный слэш перед двоеточием является отношением к bash, как он останавливает двоеточие от того , особого значения, которое оно не имеет в bash, хотя она может в другой оболочке.
AFH
1
@grawity Контекст в учебном пособии: «Затем посмотрите на ПРИМЕРЫ после списка ОПЦИЙ в человеке параллельно (используйте LESS = + / ПРИМЕР \: человек параллельно)». Как бы вы выразили это на обычном английском?
Оле Танге
7

Как показывает отличный ответ от grawity , это способ дать инструкцию lessпейджеру. В этом конкретном случае, используя руководство и учебник по GNU Parallel, это облегчает чтение примеров.

Как видно из даже оглавления в онлайн-руководстве , каждый пример начинается со строки EXAMPLE:, поэтому команда LESS=+/EXAMPLE: man parallelпозволяет перейти к первому примеру и последующим примерам нажатием n(для следующего соответствия ).

Например:

Screenpap прыжков через руководство

( каждый прыжок в ручной секции - это nнажатие клавиши )

bertieb
источник