Wie zeige ich eine Manpage direkt an?

Wie zeige ich eine Manpage direkt an?

Ich schreibe eine Manpage für ein Programm, das ich verpacke. Wie kann ich die 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 Manpages nach Namen durchsuchen zu lassen?

Ich habe versucht, Dinge wie man myprog.1und auszuführen man < myprog.1, aber in beiden Fällen erhielt ich die Fehlermeldung, dass die Manpage nicht gefunden werden konnte.

Antwort1

manhat eine Option zum Lesen einer lokalen Datei:-l

-l, --local-file

Aktiviert den „lokalen“ Modus. Formatiert und zeigt lokale Handbuchdateien an, anstatt die Handbuchsammlung des Systems zu durchsuchen. Jedes Handbuchseitenargument 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 finden kann, versucht es vor der Anzeige der Fehlermeldung so zu handeln, als ob diese Option angegeben worden wäre, indem der Name als Dateiname verwendet wird und nach einer genauen Übereinstimmung gesucht wird.

So können Sie eine Vorschau Ihrer laufenden Arbeit anzeigen mit:

man -l /path/to/manfile.1

Antwort2

Die „alte Schule“ für Systeme, die vor dieser -lOption existierten, ist

nroff -man filename | more -s

Antwort3

Ich habe einfach verwendet

man ./path/to/man.1

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

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

Antwort4

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

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.

verwandte Informationen