Wie kann ich eine Manpage direkt anzeigen?

16

Ich schreibe eine Manpage für ein Programm, das ich verpacke. Wie kann ich die von mir erstellte Manpage-Datei anzeigen, um zu überprüfen, ob alles in Ordnung ist? Gibt es eine Möglichkeit, meine Datei direkt an den manBefehl zu übergeben, anstatt die installierten Hilfeseiten nach Namen zu durchsuchen?

Ich habe versucht , Dinge zu tun , wie man myprog.1und man < myprog.1in beiden Fällen aber ich einen Fehler bekam zu sagen , dass der Mann Seite konnte nicht gefunden werden.

hugomg
quelle

Antworten:

24

man hat die Option, eine lokale Datei zu lesen: -l

-l, --local-file

Aktiviert den lokalen Modus. Formatieren und Anzeigen lokaler manueller Dateien, anstatt die manuelle Sammlung des Systems zu durchsuchen. Jedes Manpage-Argument wird als nroff-Quelldatei im richtigen Format interpretiert. Es wird keine Cat-Datei erstellt.

Wenn '-' als eines der Argumente aufgeführt ist, wird die Eingabe von stdin übernommen. Wenn diese Option nicht verwendet wird und man die erforderliche Seite nicht findet, bevor die Fehlermeldung angezeigt wird, wird versucht, so zu verhalten, als ob diese Option angegeben worden wäre. Dabei wird der Name als Dateiname verwendet und nach einer genauen Übereinstimmung gesucht.

So können Sie eine Vorschau Ihrer laufenden Arbeiten anzeigen:

man -l /path/to/manfile.1

jasonwryan
quelle
2
Das ist im Wesentlichen Linux-spezifisch. Möglicherweise möchten Sie Ihre Antwort entsprechend einschränken.
Thomas Dickey
5
@ThomasDickey Ich benutze nur Linux; Sie können gerne bearbeiten oder eine Antwort hinzufügen ...
JasonWryan
15

Die "alte Schule" für Systeme, die die -lOption vorab datieren , ist

nroff -man filename | more -s
Flup
quelle
10

Ich habe einfach verwendet

man ./path/to/man.1

Sie müssen einen Schrägstrich in den Pfad einfügen, andernfalls werden die Systemverzeichnisse durchsucht. Funktioniert auf meinen Linux- und OS X-Systemen (letzteres nicht -l).

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

Unter Solaris überschreibt der -MSchalter für manden Suchpfad für Hilfeseiten:

man -M path/to/man myprog

Ihre Manpage-Datei muss sich in einem geeigneten Unterverzeichnis befinden, das dem Abschnitt und der Auszeichnungssprache entspricht, z. B .: path/to/man/man1/myprog.1für eine nroff-Manpage in Abschnitt 1.

crw
quelle