Co oznacza `LESS = + / EXAMPLE \:`?

11

W man parallel_tutorial(dla GNU równoległych) znalazłem następującą czarną magię:

LESS=+/EXAMPLE\: man parallel

Wyszukiwanie wokół w manstron dla man, lessi bashwydaje 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?

izomorfizmy
źródło
W sekcji wyróżnień nie ma \: brakuje ukośnika wstecznego. Miałeś na myśli?
mike65535
@ mike65535, jest wpisane, jeśli naciśniesz „edytuj”, możesz to zobaczyć. Nie wyświetla się jednak.
Aganju
Ucieczka \ z innym ukośnikiem powinna działać. Krótko mówiąc, żebym mógł edytować.
Orphevs,

Odpowiedzi:

11

To nic nie znaczy w bashu . Jest to dowolny tekst zapisywany w zmiennej środowiskowej $ LESS dla tego pojedynczego polecenia.

Ale po uruchomieniu lessodczytuje 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 mannie 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 +Gmniej, 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”.

użytkownik1686
źródło
1
Które autor samouczka najwyraźniej uznał za zbyt trudne do wyrażenia w zwykłym języku angielskim.
user1686
Cóż, to jest GNU ...: P Znakomita odpowiedź btw, pojawiła się w momencie, gdy zacząłem pisać tak dobre wyczucie czasu!
bertieb
1
Ściśle mówiąc, odwrotne cięcie przed dwukropkiem jest istotne bash, ponieważ powstrzymuje jelito przed specjalnym znaczeniem, którego nie ma bash, chociaż może mieć inną powłokę.
AFH,
1
@grawity Kontekst w samouczku jest następujący: „Następnie spójrz na PRZYKŁADY za listą OPCJI w równoległym man (użyj MNIEJ = + / PRZYKŁAD \: równolegle man)”. Jak wyraziłbyś to w zwykłym języku angielskim?
Ole Tange
7

Jak wskazuje doskonała odpowiedź grawitacji , jest to sposób na udzielenie instrukcji lesspagerowi. 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 polecenie LESS=+/EXAMPLE: man parallelpozwala przejść do pierwszego przykładu i kolejnych przykładów , naciskając n(dla następnego dopasowania ).

Na przykład:

zrzut ekranu z przeskakiwaniem instrukcji

( każdy skok w sekcji manualnej to nnaciśnięcie klawisza )

bertieb
źródło