「manpath」は機能しますが、「echo $MANPATH」は機能しないのはなぜですか?

「manpath」は機能しますが、「echo $MANPATH」は機能しないのはなぜですか?

なぜそれがうまくいかないのだろうかecho $MANPATH(私のシステム(Debian Jessie x86_64 GNU / Linux 3.16.0-4-amd64))このmanpathコマンドはそれ自体でうまく機能します。

user@host:~$ manpath
/usr/local/man:/usr/local/share/man:/usr/share/man

/etc/manpath.config - リストされているようにコメントされていない行が存在し、含まれていますmanpath

マンパスのマニュアルページは次のように言います:

$ MANPATHが設定されている場合、manpathは単に内容を表示します。

では、なぜmanpath動作しますが、echo $MANPATH動作しませんか?

答え1

私のものからman manpath(Ubuntu 16.10 - システムの詳細を言及していないので):

$ MANPATHが設定されている場合、manpathは動的に決定するのではなくその値を表示します。

だから$MANPATHもっと正しいです/etc/manpath.config

また注:

説明する

$ MANPATHが設定されている場合、manpathはその内容のみを表示し、警告を表示します。そうでない場合、 manpath は適切なマニュアルページ階層検索パスを決定し、結果を表示します。

答え2

変数の存在に関するので、カスタム$MANPATHマンパスが必要な場合はオーバーライドされます。

Debian Lenny のマニュアルページを引用すると:

説明する

設定すると、 $MANPATH manpathは単に内容を表示し、警告を発行します。そうでない場合、 manpath は適切なマニュアルページ階層検索パスを決定し、結果を表示します。

コロンで区切られたパスは、/etc/manpath.configman-db 構成ファイル ( ) およびユーザー環境で得られた情報を使用して決定されます。

マニュアルページに「設定されている$MANPATH場合」と表示されている場合、これは「この変数がユーザーまたはスクリプトによって設定されている場合...」または「この変数が空の場合」manpath.configのデフォルト値が使用されることを意味します。

しばらく時間をかけて/etc/manpath.configファイルをナビゲートして、すべてのマンページパスの構造を理解します。

関連情報:

$MANPATHこれを行う方法、またはカスタムマニュアルページパスを作成する方法へのいくつかのリンク。

関連情報