Я получил man-страницы для внутренних процедур GNU Fortran (ссылка). После клонирования репо, человек сами страницы находятся в директории ~/Documents/fortran-man-pages/man3f и каждый из них представляет собой файл , заканчивающийся в *.3f например, функция ajdustl описана в adustl.3f Я хочу, чтобы man мог "видеть" эти страницы, поэтому я скопировал их в /usr/local/share/man/man3f . Теоретически, man должен знать, что нужно искать, поскольку /usr/local/share/man является одним из каталогов, перечисленных man --path . Но не игра в кости

$ man adjustl
No manual entry for adjustl
$ man 3f adjustl
No entry in section 3f of the manual
$ man -M /usr/local/share/man adjustl
No manual entry for adjustl
$ man -k adjustl
Nothing appropriate

Это делает еще более загадочным тот факт, что man знает о других страницах в этом каталоге:

$ man -w gs
/usr/local/share/man/man1/gs.1

Но что насчет...

$ man -K adjustl
(long pause...)
/usr/local/share/man/man3f/adjustl.3f? [ynq]

Ага! Значит, эти страницы находятся на пути поиска man -K , а не man? Я пропустил шаг в попытке установить эти страницы руководства Fortran? Я на OS X 10.11.6 (El Capitan).

1 ответ1

0

man manpath может помочь.

Я всегда помещаю справочные страницы в ~/.config/share/man/... Этот пункт в моем универсальном файле ~/.bashrc помещает их в путь поиска.

if [ -d $HOME/.local/share/man/man1 ]; then
    which manpath >/dev/null 2>&1  &&  P="$(manpath 2>/dev/null)"\
                                   ||  P="$MANPATH"
    case ":$P:" in
        *:$HOME/.local/share/man:*) ;;
        *) MANPATH="$P:$HOME/.local/share/man"
           export MANPATH           ;;
    esac
fi

То есть, если manpath уже знает об этом, или $MANPATH уже включает его, то я ничего не делаю. В противном случае я создаю $MANPATH из manpath , если переменная не существует. А затем добавьте мой путь к $MANPATH .

Вы можете изменить его на /usr/local/share/man/ .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .