11

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

LESS=+/EXAMPLE\: man parallel

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

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

2 ответа2

11

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

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

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

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

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

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

7

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

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

Например:

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .