Jak mogę łatwo wyświetlić stronę podręcznika dla wbudowanych poleceń powłoki?

11

Jeśli widzę polecenie w skrypcie, którego nie znam i piszę (na przykład) man pushdlub man umaskwidzę stronę man dla wbudowanych poleceń. Wiem, że mogę to zrobić man bashi przewinąć, aby znaleźć pomoc dla tego wbudowanego polecenia, lub mogę otworzyć przeglądarkę i przejść do strony podręcznika użytkownika bash online, która jest łatwiejsza do wyszukiwania, ale czy istnieje łatwiejszy sposób, aby uzyskać stronę man dla pojedyncze wbudowane polecenie bezpośrednio w wierszu poleceń?

jhabbott
źródło

Odpowiedzi:

12

Być może chcesz mieć funkcję otoki, która przeskakuje bezpośrednio do wbudowanego:

man -P "less +/\ \ \ pushd" bash

-Pmówi człowiekowi, aby używał mniej jako pager (prawdopodobnie domyślny w większości systemów), ale przekazuje bezpośrednio wyszukiwanie. Musisz dodać puste pola przed ciągiem wyszukiwania, aby pominąć trafienia w tekście i przejść do opisu polecenia.

Dla wygody skorzystaj z funkcji i umieść ją w ~/.bashrc:

function manbash {
   man -P "less +/\ \ \ $1" bash
}

i używaj go jak manbash pushd.


Inną możliwością jest użycie wbudowanego basha help:

$ help pushd
pushd: pushd [-n] [+N | -N | dir]
Add directories to stack.

Adds a directory to the top of the directory stack, or rotates
the stack, making the new top of the stack the current working
directory.  With no arguments, exchanges the top two directories.

Options:
[...]
mpy
źródło
helppolecenie - idealne, dzięki. Dlaczego man builtinsstrona tego nie sugeruje, nie wiem!
jhabbott
1
@jhabbott: Właśnie odkryłem helpsiebie, pisząc swoją odpowiedź i zastanawiając się, co byłoby dobrym nazwiskiem dla funkcji otoki ... hm, pomoc! Ok, najpierw ;)
sprawdźmy, czy zastąpimy
5

Byłby man bash-builtinsbardziej pomocny? Możesz także przeszukiwać strony podręcznika, naciskając /i wprowadzając wyszukiwane hasło.

Stefan Seidel
źródło
1

lessrozpoznaje również ^operatora kotwicy początku i chciwego dopasowywania *.

man -P "less '+/^ *'pushd" bash

manbb() {
   man -P "less '+/^ *'${1}" bash
}

manbb pushd
charcs
źródło