Dans man parallel_tutorial
(pour GNU Parallel), j'ai trouvé la magie noire suivante:
LESS=+/EXAMPLE\: man parallel
La recherche dans les man
pages pour man
, less
et bash
il 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?
Réponses:
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
man
n'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,+G
moins 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".
la source
bash
, car elle empêche les deux points d'avoir une signification spéciale, qu'elle n'a pasbash
, bien qu'elle puisse dans un autre shell.Comme l' indique l'excellente réponse de grawity , c'est une façon de donner une instruction au
less
té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 commandeLESS=+/EXAMPLE: man parallel
vous permet de passer au premier exemple et aux exemples suivants en appuyant sur n(pour la correspondance suivante ).Par exemple:
( chaque saut dans la section manuelle est une npression sur une touche )
la source