Wie ist der Pfad für die Suche nach "Manpages" festgelegt?

10

Ich bin verwirrt darüber, wie der Pfad zum Suchen von manSeiten festgelegt ist. Das "Richtige" scheint magisch zu geschehen. Zum Beispiel, wenn Sie meinen PFAD von ändern

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

zu

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

Der nach manSeiten (nach man --path) gesuchte Pfad ändert sich von

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

zu

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

Irgendwie wird bei der Version von Git, mit der ich das Standard-Git "überschreibe", die Dokumentation vor jeder Dokumentation für ein eingebautes Git korrekt gefunden. Wie geht das?

orome
quelle

Antworten:

13

Der Pfad für man wird entweder durch die env-Variable MANPATH oder durch die Erstellung eines MANPATH aus PATH und /etc/manpath.config bestimmt

Der Grund, warum Ihre lokalen Git-Manpages zuerst abgerufen werden, liegt darin, dass der generierte MANPATH in derselben Reihenfolge wie in PATH /usr/local/git/binvorhanden ist. Wenn Sie also am Anfang von PATH stehen, bedeutet dies, dass manpath (sofern er ihn findet) den passenden Man-Pfad an platziert der Beginn von MANPATH (in diesem Fall /usr/local/git/share/man).

Pfade, die früher in Ihrem MANPATH liegen, werden zuerst durchsucht und man (1) zeigt die erste Übereinstimmung an.

Weitere Informationen hierzu finden Sie unter manpath (1) und für die Konfigurationsdatei siehe manpath (5).

cjh
quelle
1
Ich habe (auf Darwin 12.2.0, OS X 10.8.2, bash 3.2.48 (1)), /etc/manpaths, /etc/man.confund mehrere Dateien in /etc/manpaths.d. Wie fließen diese in den MANPATH-Bauprozess ein?
Orome
@raxacoricofallapatorius diese sind plattformspezifisch, daher bin ich mir nicht sicher, Ihre Frage hat keine Plattform angegeben.
cjh
1
Das ist dann eine separate Frage .
Orome