En man parallel_tutorial
(para GNU paralelo) he encontrado la siguiente magia negra:
LESS=+/EXAMPLE\: man parallel
Buscando en las man
páginas para man
, less
y bash
, parece que esto puede tener algo que ver con un less
preprocesador , pero no estoy seguro, y los primeros intentos que hizo para buscar otras páginas de manual con esta sintaxis fallado.
¿Qué +/...\:
significa en bash?
Respuestas:
No significa nada en bash . Es un texto arbitrario que se almacena en la variable de entorno $ LESS para ese comando único.
Pero cuando ejecuta
less
, lee el contenido de $ LESS y los interpreta como argumentos de línea de comandos. Por lo general, aquí es donde almacenaría la configuración.( menos no es un preprocesador: es un simple visor de archivos de texto, también conocido como un buscapersonas. Tenga en cuenta que
man
no tiene un lector incorporado: solo genera el texto a través de groff (el preprocesador real), luego siempre ejecuta menos o algún otro buscapersonas para desplácese por él. Los autores de ese tutorial asumen que su sistema usará menos porque es muy ubicuo).Cuando menos encuentra argumentos que comienzan con a
+
, el resto se interpreta como comandos o pulsaciones de teclas para simular: por ejemplo, si fuera+G
menos, fingiría que presionó G después de abrir el archivo y se desplazaría hacia abajo.En su caso, menos finge haber escrito
/EXAMPLE:
después de abrir el archivo. /es la tecla / comando de búsqueda en menos , y el resto es el texto a buscar.El resultado es que el comando abre la página de manual de "paralela", luego se desplaza hacia abajo a la sección titulada "EJEMPLO".
fuente
bash
, ya que evita que el colon tenga un significado especial, que no tienebash
, aunque puede tener otro caparazón.Como lo indica la excelente respuesta de Grawity , es una forma de dar instrucciones al
less
buscapersonas. En este caso específico, usando el manual y el tutorial de GNU Parallel, facilita la lectura de los ejemplos.Como puede ver incluso en la tabla de contenido del manual en línea , cada ejemplo comienza con la cadena
EXAMPLE:
, por lo que el comando leLESS=+/EXAMPLE: man parallel
permite saltar al primer ejemplo y a los ejemplos posteriores presionando n(para la próxima coincidencia ).Por ejemplo:
( cada salto en la sección manual es una npulsación de tecla )
fuente