「man」ページを検索するためのパスはどのように設定されますか?


10

manページの検索に使用するパスがどのように設定されているのか、私は困惑しています。「正しいこと」は魔法のように起こっているようです。たとえば、PATHを

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin:/usr/texbin

/usr/local/git/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin:/usr/texbin

man(に従ってman --path)ページを検索したパスは、

/usr/share/man:/usr/local/share/man:/opt/X11/share/man:/usr/local/git/share/man:/usr/texbin/man

/usr/local/git/share/man:/usr/share/man:/usr/local/share/man:/opt/X11/share/man:/usr/texbin/man

どういうわけか、私がデフォルトのGitを「オーバーライド」しているGitのバージョンでは、組み込みGitのドキュメントより前に、そのドキュメントが正しく検出されています。どうですか?

回答:


13

manのパスは、環境変数MANPATHによって、またはPATHと/etc/manpath.configからMANPATHを構築することによって決定されます

ローカルのgit manページが最初に取得されるのは、生成されたMANPATHがPATHに存在するのと同じ順序であるためです。そのため、PATH /usr/local/git/binの先頭にあると、manpathは一致するmanパスをMANPATHの始まり(この場合は/usr/local/git/share/man)。

MANPATHの前の方のパスが最初に検索され、man(1)が最初に一致したものを表示します。

詳細については、manpath(1)を参照してください。構成ファイルについては、manpath(5)を参照してください。


1
私は(Darwin 12.2.0、OS X 10.8.2、bash 3.2.48(1)で)/etc/manpaths/etc/man.confおよびにいくつかのファイルを持っています/etc/manpaths.d。それらをMANPATH構築プロセスにどのように反映しますか?
オロメ2013

@raxacoricofallapatoriusこれらはプラットフォーム固有であるため、よくわかりません。あなたの質問ではプラットフォームを指定していません。
cjh 2013

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