Comment afficher directement une page de manuel?

16

J'écris une page de manuel pour un programme que j'emballe. Comment puis-je afficher le fichier de page de manuel que j'ai créé, pour vérifier s'il est correct? Existe-t-il un moyen de passer mon fichier directement à la mancommande au lieu de le faire rechercher par nom les pages de manuel installées?

J'ai essayé de faire des choses comme man myprog.1et man < myprog.1mais dans les deux cas, j'ai eu une erreur disant que la page de manuel était introuvable.

hugomg
la source

Réponses:

24

man a une option pour lire un fichier local: -l

-l, --local-file

Active le mode `local '. Formatez et affichez les fichiers manuels locaux au lieu de rechercher dans la collection de manuels du système. Chaque argument de page de manuel sera interprété comme un fichier source nroff au format correct. Aucun fichier de chat n'est produit.

Si «-» est répertorié comme l'un des arguments, l'entrée sera prise à partir de stdin. Lorsque cette option n'est pas utilisée et que l'homme ne parvient pas à trouver la page requise, avant d'afficher le message d'erreur, il tente d'agir comme si cette option était fournie, en utilisant le nom comme nom de fichier et en recherchant une correspondance exacte.

Vous pouvez ainsi prévisualiser votre travail en cours avec:

man -l /path/to/manfile.1

jasonwryan
la source
2
C'est essentiellement spécifique à Linux. Vous voudrez peut-être limiter votre réponse en conséquence.
Thomas Dickey
5
@ThomasDickey J'utilise uniquement Linux; vous pouvez modifier ou ajouter une réponse ...
jasonwryan
15

La méthode «à l'ancienne», pour les systèmes antérieurs à l' -loption, est

nroff -man filename | more -s
Flup
la source
10

J'ai utilisé simplement

man ./path/to/man.1

Vous devez inclure une barre oblique dans le chemin, sinon il recherche les répertoires système. Fonctionne sur les systèmes Linux et OS X que j'ai (ce dernier n'en a pas -l).

$ cd /tmp
$ cp /usr/share/man/man1/ls.1 .
$ man ls.1
No manual entry for ls.1
$ man ./ls.1     # works
ilkkachu
la source
1

Sous Solaris, le -Mcommutateur à manremplacera le chemin de recherche des pages de manuel: -

man -M path/to/man myprog

Votre fichier de page de manuel doit résider dans un sous-répertoire approprié correspondant à la section et au langage de balisage, par exemple: path/to/man/man1/myprog.1pour une page de manuel nroff dans la section 1.

crw
la source