Cosa significa `MENO = + / ESEMPIO \:`?


11

In man parallel_tutorial(per GNU parallelo) ho trovato la seguente magia nera:

LESS=+/EXAMPLE\: man parallel

Cercando in giro per le manpagine per man, lesse bash, sembra questo può avere qualcosa a che fare con un less preprocessore , ma non sono sicuro, ed i primi tentativi che ho fatto per cercare altre pagine di manuale con questa sintassi fallito.

Cosa +/...\:significa bash?


La sezione evidenziata non ha \: manca la barra rovesciata. Intendevi?
mike65535,

@ mike65535, viene digitato, se premi "modifica", puoi vederlo. Tuttavia non viene visualizzato.
Aganju,

L'escape di \ con un'altra barra rovesciata dovrebbe funzionare. In breve per me, però, per modificare.
Orphevs,

Risposte:


11

Non significa nulla in bash . È un testo arbitrario che viene memorizzato nella variabile d'ambiente $ LESS per quel singolo comando.

Ma quando si esegue less, legge il contenuto di $ LESS e li interpreta in modo molto simile agli argomenti della riga di comando. Di solito è qui che dovresti memorizzare la configurazione per questo.

( less non è un preprocessore: è un semplice visualizzatore di file di testo, alias un cercapersone. Nota che mannon ha un lettore integrato: genera semplicemente il testo tramite groff (il preprocessore effettivo), quindi esegue sempre meno o qualche altro cercapersone per scorrilo. Gli autori di quel tutorial presumono che il tuo sistema userà meno perché è così onnipresente.)

Quando less incontra argomenti che iniziano con a +, il resto viene ulteriormente interpretato come comandi o pressioni di tasti da simulare: ad esempio, se fosse +Ginferiore allora fingerebbe di aver premuto G dopo aver aperto il file e scorrere verso il basso.

Nel tuo caso, meno finge di aver digitato /EXAMPLE:dopo aver aperto il file. /è la chiave / comando di ricerca in meno e il resto è il testo da cercare.

Il risultato è che il comando apre la manpage di "parallel", quindi scorre fino alla sezione "EXAMPLE".


1
Che l'autore del tutorial apparentemente trovava troppo difficile esprimere in un inglese normale.
user1686

Bene, è GNU ...: P Ottima risposta tra l'altro, spuntata proprio mentre ho iniziato a scrivere anche un buon tempismo!
bertieb,

1
A rigor di termini, la barra rovesciata prima dei due punti è rilevante bash, poiché impedisce ai due punti di avere un significato speciale, che non ha in bash, anche se potrebbe in un altro guscio.
AFH,

1
@grawity Il contesto del tutorial è: "Quindi guarda gli ESEMPI dopo l'elenco delle OPZIONI in man parallel (Usa LESS = + / EXAMPLE \: man parallel)". Come l'avresti espresso in inglese normale?
Ole Tange,

7

Come indica l'eccellente risposta di Grawity , è un modo per dare istruzioni al lesscercapersone. In questo caso specifico, usando il manuale e il tutorial di GNU Parallel, è facile leggere gli esempi.

Come puoi vedere anche dal sommario del manuale online , ogni esempio inizia con la stringa EXAMPLE:, quindi il comando LESS=+/EXAMPLE: man parallelti consente di saltare all'esempio del pugno e agli esempi successivi premendo n(per la corrispondenza successiva ).

Per esempio:

screencap di saltare attraverso il manuale

( ogni salto nella sezione manuale è un ntasto premuto )

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.