Ter uma página man para read
(na seção 1 do manual) que diz algo diferente de "Não há nenhum comando read
, mas seu shell pode ter um comando read
builtin, consulte seu manual de shell para detalhes " é enganoso, porque read
é um shell embutido e o comportamento e as opções suportadas variam de shell para shell.
Alguns sistemas (geralmente não Linux), no entanto, têm um comando read
(em /bin
, /usr/bin
ou em outro lugar) como POSIX requer (mas a especificação Linux Standard Base (LSB) levanta esse requisito), e nesses sistemas, a página man descreverá o comportamento do comando read
, e será enganosa porque geralmente não é read
que você invoca quando liga read
em um prompt do shell ou em um script de shell ou em system()
, popen()
... mas o shell integrado em um.
O site link descreve o comando bash
builtin read
(embora não diga qual versão de bash
e por Por exemplo, é diferente do read
embutido na versão de bash
desta máquina, que por si só é diferente da read
da bash
de outra máquina (mais antiga) à qual tenho acesso) em bash
seção. A esse respeito, não é enganoso, mas onde é muito enganador é onde ele coloca todos os tipos de outros comandos não relacionados ao bash <bash
(um dos muitos shells disponíveis no Linux e outros Unices, shells sendo uma das muitas maneiras de executar comandos) é necessário para executar esses comandos ou que esses comandos tenham alguma coisa fazer com isso.
Agora, quando você executar man read
, se não houver nenhum comando read
na seção 1 (comandos do usuário) do manual, ele pesquisará em outras seções. Por exemplo, se você instalou o pacote manpages-dev
(no Debian), você obterá a página man da chamada do sistema read
(na seção 2). Se não, mas você instalou o pacote de documentação do TCL, você obterá a man page para a função read
TCL na seção 3tcl
.
Você pode solicitar explicitamente o comando read
user com man 1 read
( man -s 1 read
em alguns sistemas). Se seu manual tivesse uma seção 1bash
, ele apareceria antes da seção 1zsh
, então você precisaria escrever man 1zsh read
para obter a variante zsh
. Você pode obter todas as páginas man com man -a read
, você pode descobrir de quais pacotes elas vêm no Debian com: dpkg -S $(man -wa read)
. Por exemplo, neste sistema, eu tenho:
$ dpkg -S $(man -wa read)
9base: /usr/share/man/man1/plan9-read.1.gz
tcl8.5-doc: /usr/share/man/man3/read.3tcl.gz
manpages-dev: /usr/share/man/man2/read.2.gz
Com zsh
, pressionando Alt-H no prompt, traz o manual (via o comando man
) para o comando que você está digitando no momento. A instalação padrão do zsh
no Debian a melhora para fazer uso da função run-help
(veja info -f zsh --index-search=run-help
), então você também pode obter ajuda para os recursos internos.
Com o shell fish
, há uma função help
incorporada que tenta trazer a documentação mais sensata para um determinado comando ou fish
concept (de man
ou a documentação fish
).
Se, por algum motivo, você for forçado a usar bash
(sorriso) ou não puder se incomodar em mudar do padrão, bash
também terá um comando help
builtin que traz ajuda sobre bash
builtins (no entanto, observe que help read
é como help '*read*'
, ou seja, ele traz o manual para todos os builtins cujo nome contém read
, use help '[r]ead'
, por exemplo, se você quiser apenas o manual read
). / p>
A ajuda de
bash
só funciona para bash
builtins. Se você quiser estendê-lo para incluir a pesquisa no manual nas seções 1 (comandos do usuário) e 6 (jogos) e 8 (comandos administrativos), você pode redefini-lo como:
help() {
builtin help "$@" 2> /dev/null ||
MANSECT=1:8:6 man "$@"
}