Hintergrund
In diesem Tutorial erfahren Sie, wie Sie git unter OSX 10.8.5 "richtig installieren":
Um laufen die neueste Version Sie benötigen eine Shell - Pfad einzustellen , so dass / usr / bin / git läuft nach / usr / local / bin
...
Fügen Sie also in den Pfad [in meinem Fall: ~ / .bash_profile] ein , der dem folgenden ähnelt, und behalten Sie das bei, was Sie bereits im Pfad haben. Jedes Segment ist durch einen Doppelpunkt getrennt:
export PATH="/usr/local/bin:/usr/bin/git:/usr/bin:/usr/local/sbin:$PATH"
^ Focus on this
Mein Verständnis ist also folgendes:
- Wenn ich mich anmelde, gibt BASH den weiter rechts in der
export PATH=...
Zeile angehängten Elementen den Vorrang - $ PATH befindet sich am am stärksten
:
begrenzten Eintrag in derexport PATH=...
Zeile - $ PATH enthält
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
Also ... Wenn meine Annahmen richtig sind, sollte das Tutorial (oben zitiert) sicherlich so aussehen:
export PATH="$PATH:/usr/bin/git"
Anstatt:
export PATH="/usr/local/bin:/usr/bin/git:/usr/bin:/usr/local/sbin:$PATH"
Meine Fragen sind:
Ist das Tutorial falsch? Wenn nicht, welche meiner Annahmen sind dann falsch? Wenn meine Annahmen nicht falsch sind UND das Tutorial nicht falsch ist, erklären Sie bitte, warum ...
Hinweis: Ich bin mir bewusst, dass dies für OSX 10.8.5 möglicherweise nicht relevant ist. In diesem Fall melden Sie sich bitte als "Off-Topic" für den entsprechenden Stapelaustausch an. Aber AFAIK, meine Ubuntu-Maschine hat gut funktioniert, wenn ~ / .bashrc folgende Dinge enthält:
export PATH=$PATH:<myProgram1>:<myProgram2>:...
Kann es sein, dass sich BASH in OSX anders verhält? Ich weiß es nicht...
quelle
/usr/bin/git
soll/usr/local/bin
, dann benutze esexport PATH="$PATH:/usr/bin/git"
, es ist einfach so!bash
funktioniert, lesen Sie die Manpage. Wie bash ist, hängt mehr von seiner Version als vom Betriebssystem ab. OS X / macOS hat in der Regel ältere Versionen von bash als das aktuelle Linux Distros.Antworten:
Das Tutorial ist schlecht formuliert, man sollte niemals eine Binärdatei (wie
/usr/bin/git
) inPATH
nur Verzeichnisse einfügen. Eine bessere Alternative wäre zu schreibenAlso , wenn Sie setzen
PATH
auf/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
die manuell installierte Versiongit
wird von abgeholt werden/usr/local/bin
.PS: Die Handhabung
PATH
funktioniert bei allen Unix-basierten Systemen gleich, die verschiedenen Verzeichnisse werden von links nach rechts nach dem Befehl durchsucht.quelle
which
bestimmen, welcher Befehl verwendet wird. Öffnen Sie einfach Ihr Terminal und sagen Sie,which git
und es wird antworten/usr/bin/git
(in meinem Fall kann Ihr Terminal variieren).which
basiert aufPATH
einigen Shells. Verwenden Sie lieber das eingebaute Tool,type
das für die Analyse erstellt wurde, ohne von Ihrem abhängig zu seinPATH
.which
eine Zeit, in der ein Tippfehler.cshrc
diese Funktion veranlasste, in eine rekursive Schleife einzutreten.