W man parallel_tutorial
(dla GNU równoległych) znalazłem następującą czarną magię:
LESS=+/EXAMPLE\: man parallel
Wyszukiwanie wokół w man
stron dla man
, less
i bash
wydaje się, może to mieć coś wspólnego z less
preprocesora , ale nie jestem pewien, a pierwsze kilka prób zrobiłem szukać innych stron podręcznika z tej składni nie powiodło się.
Co +/...\:
znaczy bash?
Odpowiedzi:
To nic nie znaczy w bashu . Jest to dowolny tekst zapisywany w zmiennej środowiskowej $ LESS dla tego pojedynczego polecenia.
Ale po uruchomieniu
less
odczytuje zawartość $ LESS i interpretuje je podobnie jak argumenty wiersza poleceń. Zwykle w tym miejscu należy przechowywać konfigurację.( less nie jest preprocesorem: to prosta przeglądarka plików tekstowych, inaczej pager. Zauważ, że
man
nie ma wbudowanego czytnika: po prostu generuje tekst przez groff (rzeczywisty preprocesor), a następnie zawsze uruchamia mniej lub jakiś inny pager, aby przewiń ją. Autorzy tego samouczka zakładają, że Twój system będzie zużywał mniej, ponieważ jest tak wszechobecny.)Kiedy mniej napotyka argumenty zaczynające się na a
+
, reszta jest dalej interpretowana jako polecenia lub naciśnięcia klawiszy w celu symulacji: np. Gdyby było+G
mniej, udawałby, że nacisnąłeś G po otwarciu pliku, i przewinąłby w dół.W twoim przypadku mniej udajesz, że wpisałeś
/EXAMPLE:
po otwarciu pliku. /to klawisz / polecenie wyszukiwania w mniej , a reszta to tekst do wyszukania.W rezultacie polecenie otwiera stronę podręczną „równoległe”, a następnie przewija w dół do sekcji zatytułowanej „PRZYKŁAD”.
źródło
bash
, ponieważ powstrzymuje jelito przed specjalnym znaczeniem, którego nie mabash
, chociaż może mieć inną powłokę.Jak wskazuje doskonała odpowiedź grawitacji , jest to sposób na udzielenie instrukcji
less
pagerowi. W tym konkretnym przypadku korzystanie z instrukcji i samouczka GNU Parallel ułatwia czytanie przykładów.Jak widać nawet ze spisu treści w podręczniku online , każdy przykład zaczyna się od ciągu
EXAMPLE:
, więc polecenieLESS=+/EXAMPLE: man parallel
pozwala przejść do pierwszego przykładu i kolejnych przykładów , naciskając n(dla następnego dopasowania ).Na przykład:
( każdy skok w sekcji manualnej to nnaciśnięcie klawisza )
źródło