Как узнать, где установлен $ MANPATH?

Как узнать, в каком файле конфигурации установлена ​​переменная среды $MANPATH? Есть ли способ отследить значения?

Мне известно, что я могу просматривать всю файловую систему, используя find или grep. Я использую zsh большую часть времени вместо bash. Я использую Ubuntu Precise.

4
задан 15 December 2012 в 22:43

3 ответа

Ubuntu по умолчанию не устанавливает $MANPATH, таким образом, Ваш поиск может быть ограничен Вашим ~/.{ba,z}shrc и файлы они включают

Путь поиска, скомпилированный в команду человека, виден с man -w. В моей системе (12.10), это возвращается /usr/local/man:/usr/local/share/man:/usr/share/man

4
ответ дан 15 December 2012 в 22:43

Как уже писали другие, Ubuntu по умолчанию не устанавливает MANPATH. Вы можете отредактировать .profile и добавить MANPATH, как вам нравится. Но где Ubuntu получает информацию о вашем manpath?

Эта информация установлена ​​в /etc/manpath.config. Пакет man-db использует эту информацию для настройки путей для man. Переменная окружения MANPATH имеет приоритет над файлом manpath.config. Файл содержит следующие (и, вероятно, больше) записи:

MANDATORY_MANPATH /usr/share/man
MANPATH_MAP /usr/bin /usr/man
DEFINE troff groff -mandoc

Первая строка сообщает программе, которая автоматически генерирует MANPATH, какие каталоги она должна содержать. Обычно здесь устанавливаются /usr/man, /usr/share/man и другие.

Далее идет отображение от пользователей PATH на правильное MANPATH. Если у пользователя есть /usr/bin в его PATH, MANPATH должен содержать /usr/man в моем приведенном выше примере.

Значение DEFINE имеет некоторый набор аргументов и программ по умолчанию для утилит пейджинга.

0
ответ дан 15 December 2012 в 22:43

Попробуйте запустить

zsh -x -ls -c "exit" 2> shell-startup-output

После выполнения этой команды файл shell-startup-output должен отображать каждый исходный файл при запуске оболочки. Затем вы можете просмотреть каждый из этих файлов, чтобы увидеть, какой из них установлен $MANPATH$.

Если это не работает для вас, единственный другой способ, которым я знаю, это использовать grep или find.

0
ответ дан 15 December 2012 в 22:43

Другие вопросы по тегам:

Похожие вопросы: