Как задан путь для поиска страниц man?


10

Я озадачен тем, как manзадан путь, используемый для поиска страниц. «Правильная вещь», кажется, происходит волшебным образом. Например, если изменить мой путь от

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

в

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

путь поиска manстраниц (в соответствии с man --path) изменяется с

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

в

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

Каким-то образом версия Git, с которой я «переопределяю» Git по умолчанию, корректно находит свою документацию перед любой документацией для любого встроенного Git. Как это происходит?

Ответы:


13

Путь для man определяется либо переменной env MANPATH, либо путем создания MANPATH из PATH и /etc/manpath.config

Причина, по которой ваши локальные man-страницы git выбираются первыми, заключается в том, что сгенерированная MANPATH находится в том же порядке, что и в PATH, поэтому /usr/local/git/binв начале PATH означает, что manpath будет (если сможет его найти) поместить соответствующий путь man в начало MANPATH (в данном случае /usr/local/git/share/man).

Пути, которые находятся ранее в вашей MANPATH, ищутся первыми, и man (1) покажет первое совпадение.

Для получения дополнительной информации см. Manpath (1), а для файла конфигурации см. Manpath (5).


1
У меня есть (на Darwin 12.2.0, OS X 10.8.2, Bash 3.2.48 (1)) /etc/manpaths, /etc/man.confи несколько файлов в /etc/manpaths.d. Как они фигурируют в процессе строительства MANPATH?
13

@raxacoricofallapatorius, это зависит от платформы, поэтому я не уверен, что в вашем вопросе не указана платформа.
cjh

1
Это отдельный вопрос тогда.
orome
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.