Como é definido o caminho para procurar páginas de 'homem'?

10

Estou intrigado com a forma como o caminho usado para encontrar manpáginas está definido. A "coisa certa" parece acontecer magicamente. Por exemplo, se alterar meu PATH de

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin:/usr/texbin

para

/usr/local/git/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin:/usr/texbin

o caminho pesquisado pelas manpáginas (de acordo com man --path) muda de

/usr/share/man:/usr/local/share/man:/opt/X11/share/man:/usr/local/git/share/man:/usr/texbin/man

para

/usr/local/git/share/man:/usr/share/man:/usr/local/share/man:/opt/X11/share/man:/usr/texbin/man

De alguma forma, a versão do Git com a qual estou "substituindo" o Git padrão é ter sua documentação encontrada corretamente antes de qualquer documentação para qualquer Git incorporado. Como isso está acontecendo?

orome
fonte

Respostas:

13

O caminho para o homem é determinado pela variável env MANPATH ou construindo um MANPATH a partir de PATH e /etc/manpath.config

A razão pela qual as páginas do manual do git local estão sendo escolhidas primeiro é porque o MANPATH gerado está na mesma ordem presente no PATH; portanto, /usr/local/git/binno início do PATH, o manpath colocará (se conseguir) o caminho do man correspondente. o começo de MANPATH (neste caso /usr/local/git/share/man).

Os caminhos anteriores ao MANPATH são pesquisados ​​primeiro e o man (1) exibe a primeira correspondência.

Para obter mais informações, consulte manpath (1) e, para o arquivo de configuração, consulte manpath (5).

cjh
fonte
1
Eu tenho (em Darwin 12.2.0, Mac OS X 10.8.2, festança do 3.2.48 (1)), /etc/manpaths, /etc/man.confe vários arquivos /etc/manpaths.d. Como esses figuram no processo de construção da MANPATH?
orome 03/02
@raxacoricofallapatorius essas são específicas da plataforma, então não tenho certeza, sua pergunta não especificou plataforma.
Cjh
1
Essa é uma pergunta separada então.
Orome