Was bedeutet "WENIGER = + / BEISPIEL \:"?

11

In man parallel_tutorial(für GNU parallel) habe ich folgende schwarze Magie gefunden:

LESS=+/EXAMPLE\: man parallel

Suche um in den manSeiten man, lessund bashscheint es , das etwas mit einem zu tun hat less Präprozessor , aber ich bin mir nicht sicher, und die ersten paar Versuche gemacht , ich andere manuelle Seiten mit dieser Syntax fehlgeschlagen zu suchen.

Was +/...\:bedeutet in Bash?

Isomorphismen
quelle
Ihr Highlight-Bereich hat kein \: Der Schrägstrich fehlt. Wolltest du das?
Mike 65535
@ mike65535, es wird eingegeben, wenn Sie auf "Bearbeiten" klicken, können Sie es sehen. Es wird jedoch nicht angezeigt.
Aganju
Das Escaping des \ mit einem anderen Backslash sollte funktionieren. Zu kurz für mich zum Bearbeiten.
Orphevs

Antworten:

11

Es bedeutet nichts in Bash . Es ist ein beliebiger Text, der in der Umgebungsvariablen $ LESS für diesen einzelnen Befehl gespeichert wird.

Wenn Sie jedoch ausführen less, liest es den Inhalt von $ LESS und interpretiert ihn ähnlich wie Befehlszeilenargumente. Normalerweise speichern Sie hier die Konfiguration dafür.

( less ist kein Präprozessor: Es ist ein einfacher Textdatei-Viewer, auch bekannt als Pager. Hinweis, mander keinen eingebauten Reader hat: Er generiert den Text nur über groff (den eigentlichen Präprozessor) und führt dann immer entweder weniger oder einen anderen Pager aus Scrollen Sie durch die Liste. Die Autoren dieses Tutorials gehen davon aus, dass Ihr System weniger verbraucht, weil es so allgegenwärtig ist.)

Wenn weniger auf Argumente stößt, die mit a beginnen +, wird der Rest weiter als zu simulierende Befehle oder Tastendrücke interpretiert: Wenn dies +Gweniger wäre, würde weniger so tun, als hätten Sie nach dem Öffnen der Datei G gedrückt, und nach unten scrollen.

In Ihrem Fall tun weniger so, als hätten Sie /EXAMPLE:nach dem Öffnen der Datei getippt . /ist der Suchschlüssel / Befehl in weniger und der Rest ist der zu suchende Text.

Das Ergebnis ist, dass der Befehl die Manpage von "parallel" öffnet und dann zu dem Abschnitt mit dem Titel "BEISPIEL" scrollt.

user1686
quelle
1
Was der Autor des Tutorials anscheinend zu schwierig fand, um es in normalem Englisch auszudrücken.
user1686
Nun, es ist GNU ...: P Ausgezeichnete Antwort übrigens, tauchte gerade auf, als ich anfing, so gutes Timing zu schreiben!
Bertieb
1
Streng genommen ist die Backslash vor dem Doppelpunkt ist relevant bash, da sie den Darm aus, die eine besondere Bedeutung hält, was es nicht in sich haben bash, obwohl sie in einer anderen Schale.
AFH
1
@grawity Der Kontext im Tutorial lautet: "Dann schauen Sie sich die BEISPIELE nach der Liste der OPTIONEN in man parallel an (verwenden Sie WENIGER = + / BEISPIEL \: man parallel)". Wie hätten Sie es in normalem Englisch ausgedrückt?
Ole Tange
7

Wie die ausgezeichnete Antwort von grawity zeigt , ist dies eine Möglichkeit, dem lessPager eine Anweisung zu geben . In diesem speziellen Fall erleichtert das Verwenden des Handbuchs und des Tutorials von GNU Parallel das Lesen der Beispiele.

Wie Sie sogar aus dem Inhaltsverzeichnis im Online-Handbuch ersehen können , beginnt jedes Beispiel mit der Zeichenfolge EXAMPLE:. Mit dem Befehl LESS=+/EXAMPLE: man parallelkönnen Sie zum ersten Beispiel und zu den nachfolgenden Beispielen springen, indem Sie n(für die nächste Übereinstimmung ) drücken .

Beispielsweise:

Bildschirmkappe des Durchspringens durch Handbuch

( Jeder Sprung im manuellen Bereich ist ein nTastendruck )

Bertieb
quelle