В man parallel_tutorial
(для параллельной GNU) я обнаружил следующую черную магию:
LESS=+/EXAMPLE\: man parallel
Поиск вокруг в man
страницах man
, less
и bash
, похоже , что это может иметь что - то делать с less
препроцессором , но я не уверен, и первые несколько попыток я сделал искать другие справочные страницы с этим синтаксисом не удалось.
Что +/...\:
значит в bash?
Ответы:
Это ничего не значит в bash . Это некоторый произвольный текст, который сохраняется в переменной окружения $ LESS для этой единственной команды.
Но когда вы запускаете
less
, он читает содержимое $ LESS и интерпретирует их так же, как аргументы командной строки. Обычно это то место, где вы должны хранить конфигурацию для него.( less не является препроцессором: это простой просмотрщик текстовых файлов, он же пейджер. Обратите внимание, что у
man
него нет встроенного считывателя: он просто генерирует текст через groff (фактический препроцессор), затем всегда запускает less или другой пейджер для прокрутите его. Авторы этого учебника предполагают, что ваша система будет использовать меньше, потому что она настолько вездесуща.)Когда less сталкивается с аргументами, начинающимися с a
+
, остаток далее интерпретируется как команды или нажатия клавиш для имитации: например, если бы+G
тогда было меньше, вы бы сделали вид, что нажали G после открытия файла, и прокрутите вниз.В вашем случае меньше притворяется, что вы набрали
/EXAMPLE:
после открытия файла. /это ключ / команда поиска меньше , а остальное - текст для поиска.Результатом является то, что команда открывает man-страницу «параллельно», а затем прокручивает страницу вниз до раздела «ПРИМЕР».
источник
bash
, как он останавливает двоеточие от того , особого значения, которое оно не имеет вbash
, хотя она может в другой оболочке.Как показывает отличный ответ от grawity , это способ дать инструкцию
less
пейджеру. В этом конкретном случае, используя руководство и учебник по GNU Parallel, это облегчает чтение примеров.Как видно из даже оглавления в онлайн-руководстве , каждый пример начинается со строки
EXAMPLE:
, поэтому командаLESS=+/EXAMPLE: man parallel
позволяет перейти к первому примеру и последующим примерам нажатием n(для следующего соответствия ).Например:
( каждый прыжок в ручной секции - это nнажатие клавиши )
источник