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のドキュメントよりも前に、そのドキュメントが正しく検出されています。それはどうですか?
Manのパスは、環境変数MANPATHによって、またはPATHと/etc/manpath.configからMANPATHを構築することによって決定されます
ローカルのgit manページが最初に取得されるのは、生成されたMANPATHがPATHに存在するのと同じ順序であるため、/usr/local/git/bin
PATHの先頭にある場合、manpathは(見つかった場合)一致するmanパスをMANPATHの先頭に配置します(この場合は/usr/local/git/share/man
)。
MANPATHの前の方のパスが最初に検索され、man(1)が最初に一致したものを表示します。
詳細については、manpath(1)を参照してください。構成ファイルについては、manpath(5)を参照してください。