マニュアルページを直接表示するにはどうすればよいですか?


16

パッケージ化するプログラムのマニュアルページを書いています。作成したマンページファイルを表示して、問題がないかどうかを確認するにはどうすればよいですか?manインストールされたマンページを名前で検索する代わりに、ファイルをコマンドに直接渡す方法はありますか?

のようなことをしようman myprog.1としましたman < myprog.1が、どちらの場合も、manページが見つからなかったというエラーが表示されました。

回答:


24

man ローカルファイルを読み込むオプションがあります: -l

-l、--local-file

「ローカル」モードを有効にします。システムの手動コレクションを検索する代わりに、ローカルの手動ファイルをフォーマットして表示します。各マニュアルページの引数は、正しい形式のnroffソースファイルとして解釈されます。catファイルは作成されません。

引数の1つとして「-」がリストされている場合、入力はstdinから取得されます。このオプションが使用されず、manがエラーメッセージを表示する前に必要なページを見つけられない場合、ファイル名として名前を使用し、完全に一致するものを探して、このオプションが提供されたかのように動作します。

そのため、次の方法で進行中の作業をプレビューできます。

man -l /path/to/manfile.1


2
これは基本的にLinux固有です。それに応じて答えを制限することができます。
トーマスディッキー

5
@ThomasDickey私はLinuxのみを使用しています。回答の編集または追加を歓迎します
...-jasonwryan

15

-lオプションより前のシステムの「古い学校」の方法は、

nroff -man filename | more -s

10

私は単純に使用しました

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

1

Solarisでは、-Mスイッチmanはマンページの検索パスを上書きします:

man -M path/to/man myprog

マンページファイルは、セクションとマークアップ言語に対応する適切なサブディレクトリに存在する必要があります。例:path/to/man/man1/myprog.1セクション1のnroff-manpageの場合

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.