Como posso ver facilmente a página de manual dos comandos shell internos?

11

Se eu vir um comando em um script que não conheço e digitar (por exemplo) man pushdou man umaskvir a página de manual dos comandos internos. Sei que posso fazer man bashe rolar para encontrar a ajuda para esse comando interno, ou posso abrir um navegador e acessar a página do manual do bash, que é mais fácil de pesquisar, mas existe uma maneira mais fácil de obter a página de manual para um único comando embutido diretamente na linha de comando?

jhabbott
fonte

Respostas:

12

Talvez você queira ter alguma função de wrapper que pule diretamente para o builtin:

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

-Pdiz ao homem para usar menos como pager (provavelmente o padrão na maioria dos sistemas), mas passar diretamente uma pesquisa para ele. Você precisa adicionar alguns espaços em branco antes da sequência de pesquisa para ignorar os hits no texto e ir para a descrição do comando.

Por conveniência, crie uma função e coloque-a no seu ~/.bashrc:

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

e use-o como manbash pushd.


Outra possibilidade é usar o bash embutido 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
fonte
helpcomando - perfeito, obrigado. Por que a man builtinspágina não sugere isso, eu não sei!
jhabbott
1
@jhabbott: Acabei de helpme descobrir enquanto escrevia minha resposta e pensava qual seria um bom nome para a função wrapper ... hum, ajuda! Ok, vamos verificar primeiro se vamos substituir alguns função existente - et voilà;)
mpy
5

Seria man bash-builtinsmais útil? Além disso, você pode pesquisar nas páginas do manual, pressionando /e digitando seu termo de pesquisa.

Stefan Seidel
fonte
1

lesstambém reconhece a âncora de início de linha ^e o operador de correspondência ganancioso *.

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

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

manbb pushd
charcs
fonte