パッケージ化しているプログラムのマニュアル ページを作成しています。作成したマニュアル ページ ファイルを表示して、問題がないかどうかを確認するにはどうすればよいでしょうか。インストールされてman
いるマニュアル ページを名前で検索するのではなく、ファイルを直接コマンドに渡す方法はありますか。
のようなことを試してみましたがman myprog.1
、man < myprog.1
どちらの場合もマニュアルページが見つからないというエラーが発生しました。
答え1
man
ローカルファイルを読み取るオプションがあります:-l
-l, --local-file
`local' モードを有効にします。システムのマニュアル コレクションを検索する代わりに、ローカル マニュアル ファイルをフォーマットして表示します。各マニュアル ページ引数は、正しい形式の nroff ソース ファイルとして解釈されます。cat ファイルは生成されません。
引数の 1 つとして '-' が指定されている場合は、入力は 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
マニュアル ページ ファイルは、セクションとマークアップ言語に対応する適切なサブディレクトリに存在する必要があります。たとえば、path/to/man/man1/myprog.1
nroff マニュアル ページの場合はセクション 1 です。