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?

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:
[...]

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.