Я пишу man-страницу для программы, которую я упаковываю. Как мне отобразить файл man-страницы, который я создал, чтобы проверить, все ли с ним в порядке? Есть ли способ передать мой файл напрямую команде, man
а не искать установленные man-страницы по имени?
Я пробовал делать что-то вроде man myprog.1
и , man < myprog.1
но в обоих случаях получал ошибку, сообщающую о том, что страница руководства не найдена.
решение1
man
есть возможность прочитать локальный файл:-l
-l, --local-file
Активировать режим `local'. Форматировать и отображать локальные файлы руководств вместо поиска в системной коллекции руководств. Каждый аргумент страницы руководства будет интерпретироваться как исходный файл nroff в правильном формате. Файл cat не создается.
Если в качестве одного из аргументов указан '-', ввод будет взят из stdin. Если эта опция не используется и man не может найти требуемую страницу, перед отображением сообщения об ошибке он пытается действовать так, как если бы эта опция была предоставлена, используя имя в качестве имени файла и выполняя поиск точного совпадения.
Итак, вы можете предварительно просмотреть ход выполнения своей работы с помощью:
man -l /path/to/manfile.1
решение2
«Старый» способ для систем, которые появились до этой -l
опции, это
nroff -man filename | more -s
решение3
Я просто использовал
man ./path/to/man.1
Вам нужно включить слеш в путь, иначе он будет искать в системных каталогах. Работает на системах Linux и OS X, которые у меня есть (в последней нет -l
).
$ cd /tmp
$ cp /usr/share/man/man1/ls.1 .
$ man ls.1
No manual entry for ls.1
$ man ./ls.1 # works
решение4
В Solaris -M
переключение на man
переопределит путь поиска для страниц руководства:
man -M path/to/man myprog
Ваш файл man-страницы должен находиться в подходящем подкаталоге, соответствующем разделу и языку разметки, например: path/to/man/man1/myprog.1
для nroff-manpage в разделе 1.