Portanto, parece que digitar man git init
em um prompt do bash em um sistema Ubuntu 14.04 faz o mesmo que man git-init
, só não sei bem como.
A man
página para man
(ie man man
) parece não permitir essa construção, a menos que git
seja section
parte do manual, mas a página de manual parece vir da seção 1
.
Este uso não documentado é suportado por man
? Entendi mal a documentação man
? Alguma outra mágica está acontecendo? Alguém quer explicar?
git init
Respostas:
Algumas implementações
man
, incluindo a usada pelo Ubuntu, substituem espaços em seus termos de pesquisa por hífens e tentam encontrar uma página de manual com esse nome. Então,man git init
parece a mesma coisa queman git-init
. Da mesma forma,man run parts
eman ntfs 3g
trabalhe (se você tiverrun-parts
entfs-3g
no seu sistema).Porém, ele só faz isso com pares de palavras, portanto
man git annex sync
não funciona (embora funcioneman git-annex sync
, pois é novamente um par de palavras).De fato, quando você pede duas páginas de manual (por exemplo,
man git bash
para ver as páginas de manual git e bash),man
na verdade , primeiro tenta procurar uma página degit-bash
manual. Você pode ver isso na saída de depuração, se você habilitá-lo com-d
.Esse recurso man é chamado de "subpáginas". Você pode ler o código fonte implementando subpáginas no man-db (obrigado, Stephen Kitt ). A pesquisa de "subpáginas" na página de
man(1)
manual também levará você à descrição desse comportamento na--no-subpages
opção:fonte
man
implementações) e as subpáginas não foram desativadas (por exemplo, com--no-subpages
). Estou usando o Debian, então definitivamente não é apenas o Ubuntu.man
. Não é de modo algum universal ou particular comum.