Como posso ver facilmente a página de manual para comandos de shell incorporados?

10

Se eu vir um comando em um script que não conheço e digito (por exemplo) man pushd ou man umask , vejo a página man dos comandos internos. Eu sei que eu posso fazer man bash e rolar para encontrar a ajuda para esse comando interno, ou eu posso abrir um navegador e ir para o página manual bash man que é mais fácil de pesquisar, mas existe uma maneira mais fácil de obter a página man para um único comando interno diretamente na linha de comando?

    
por jhabbott 24.04.2013 / 12:52

3 respostas

12

Talvez você goste de ter uma função de wrapper que pule diretamente para o arquivo interno:

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

-P diz ao homem para usar menos como pager (provavelmente o padrão na maioria dos sistemas), mas passa diretamente uma pesquisa para ele. Você precisa adicionar alguns espaços em branco antes da string de pesquisa para pular as ocorrências 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 builtin 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:
[...]
    
por 24.04.2013 / 13:20
5

O man bash-builtins seria mais útil? Além disso, você pode pesquisar em man pages pressionando / e inserindo seu termo de pesquisa.

    
por 24.04.2013 / 13:06
1

less també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
    
por 22.11.2014 / 13:28