O que significa 'LESS = + / EXAMPLE \:' mean?

11

Em man parallel_tutorial (para o GNU paralelo), encontrei a seguinte magia negra:

LESS=+/EXAMPLE\: man parallel

Pesquisando nas man páginas para man , less e bash , parece que isso pode ter algo a ver com um pré-processador less , mas eu Não tenho certeza, e as primeiras tentativas que fiz para pesquisar outras páginas de manual com esta sintaxe falharam.

O que significa +/...\: no bash?

    
por isomorphismes 12.05.2018 / 12:08

2 respostas

11

Não significa nada no bash . É algum texto arbitrário que é armazenado na variável de ambiente $ LESS para esse único comando.

Mas quando você executa less , ele lê o conteúdo de $ LESS e os interpreta como os argumentos da linha de comando. Normalmente, é aqui que você armazena a configuração.

( less não é um pré-processador: é um simples visualizador de arquivos de texto, também conhecido como pager. Observe que man não possui leitor embutido: ele apenas gera o texto via groff (o pré-processador real), então sempre executa less ou algum outro pager para percorrê-lo. Os autores desse tutorial assumem que seu sistema estará usando menos porque é tão onipresente.)

Quando menos encontra argumentos começando com + , o restante é interpretado como comandos ou pressionamentos de tecla para simular: por exemplo, se fosse +G , menos fingiria que você tinha pressionado G depois de abrir o arquivo e rolaria para baixo.

No seu caso, menos finge que você digitou /EXAMPLE: após abrir o arquivo. / é a chave de busca / comando em menos , e o resto é o texto para procurar.

O resultado é que o comando abre o manpage de "parallel", então rola a seção "EXAMPLE".

    
por 12.05.2018 / 12:23
7

Como a excelente resposta de grawity indica , é uma maneira de dar uma instrução ao less pager. Neste caso específico, usando o manual e o tutorial do GNU Parallel, facilita a leitura dos exemplos.

Como você pode ver até mesmo no sumário do manual on-line , cada exemplo começa com a string EXAMPLE: , então o comando LESS=+/EXAMPLE: man parallel permite que você pule para o primeiro exemplo, e exemplos subseqüentes pressionando n (para próxima partida ).

Por exemplo:

( cada salto na seção manual é um n pressionamento de tecla )

    
por 12.05.2018 / 12:44