Que signifie `MOINS = + / EXEMPLE \:`?

11

Dans man parallel_tutorial(pour GNU Parallel), j'ai trouvé la magie noire suivante:

LESS=+/EXAMPLE\: man parallel

La recherche dans les manpages pour man, lesset bashil semble que cela puisse avoir quelque chose à voir avec un less préprocesseur , mais je ne suis pas sûr, et les premières tentatives que j'ai faites pour rechercher d'autres pages de manuel avec cette syntaxe ont échoué.

Que +/...\:signifie bash?

isomorphismes
la source
Votre section de surbrillance n'a pas \: la barre oblique inverse est manquante. Vouliez-vous le dire?
mike65535
@ mike65535, il est tapé, si vous appuyez sur «modifier», vous pouvez le voir. Il ne s'affiche cependant pas.
Aganju
Échapper le \ avec une autre barre oblique inverse devrait fonctionner. Bref pour moi d'éditer cependant.
Orphevs

Réponses:

11

Cela ne veut rien dire en bash . C'est du texte arbitraire qui est stocké dans la variable d'environnement $ LESS pour cette seule commande.

Mais lorsque vous exécutez less, il lit le contenu de $ LESS et les interprète comme des arguments de ligne de commande. Habituellement, c'est là que vous stockez la configuration.

( less n'est pas un préprocesseur: c'est un simple visualiseur de fichiers texte, alias un pager. Notez qu'il mann'a pas de lecteur intégré: il génère simplement le texte via groff (le préprocesseur réel), puis exécute toujours less ou un autre pager vers Les auteurs de ce didacticiel supposent que votre système en utilisera moins car il est tellement omniprésent.)

Lorsque moins rencontre des arguments commençant par un +, le reste est interprété comme des commandes ou des touches à simuler: par exemple, si c'était le cas, +Gmoins ferait semblant d'avoir appuyé sur G après avoir ouvert le fichier, et ferait défiler vers le bas.

Dans votre cas, moins de faux que vous avez tapé /EXAMPLE:après l'ouverture du fichier. /est la clé / commande de recherche en moins , et le reste est le texte à rechercher.

Le résultat est que la commande ouvre la page de manuel de "parallèle", puis descend jusqu'à la section intitulée "EXEMPLE".

user1686
la source
1
Ce que l'auteur du tutoriel a apparemment trouvé trop difficile à exprimer en anglais ordinaire.
user1686
Eh bien, il est est GNU ...: P Excellente réponse btw, surgit comme je l' ai commencé à écrire si bon moment aussi!
bertieb
1
À strictement parler, la barre oblique inverse avant les deux points est pertinente bash, car elle empêche les deux points d'avoir une signification spéciale, qu'elle n'a pas bash, bien qu'elle puisse dans un autre shell.
AFH
1
@grawity Le contexte du didacticiel est: "Ensuite, regardez les EXEMPLES après la liste des OPTIONS dans man parallel (Utilisez LESS = + / EXAMPLE \: man parallel)". Comment l'auriez-vous exprimé en anglais ordinaire?
Ole Tange
7

Comme l' indique l'excellente réponse de grawity , c'est une façon de donner une instruction au lesstéléavertisseur. Dans ce cas spécifique, en utilisant le manuel et le tutoriel de GNU Parallel, cela facilite la lecture des exemples.

Comme vous pouvez le voir même dans la table des matières du manuel en ligne , chaque exemple commence par la chaîne EXAMPLE:, de sorte que la commande LESS=+/EXAMPLE: man parallelvous permet de passer au premier exemple et aux exemples suivants en appuyant sur n(pour la correspondance suivante ).

Par exemple:

capture d'écran du saut à travers le manuel

( chaque saut dans la section manuelle est une npression sur une touche )

Bertieb
la source