Ich arbeite mit cygwin unter Windows und habe gerade angefangen, einen Mac zu verwenden. Ich frage mich, warum es scheint, dass Suchpfade nicht so funktionieren, wie sie sollten.
Wenn ich ein Programm habe /usr/bin/prog
und ich lösche es. Es scheint, als würde man diesen genauen Pfad weiterhin versuchen, anstatt ihn erneut zu suchen (sagen wir, ich verschiebe ihn nach /usr/local/bin
).
Liegt das an der Terminal-App oder ist es etwas Besonderes für den Mac? Auch, wenn ich eine neue Version von Python installieren möchte /usr/local/bin
ist der richtige Weg, um es zu entfernen /usr/bin/
?
Antworten:
Sie sagen nicht, welche Shell Sie verwenden, obwohl Ihre Frage mit einem Tag versehen ist
bash
.Die Standard-Mac OS X-Shell istWenn Sie tcsh oder csh verwenden, wird eine Tabelle mit Elementen auf Ihrem Pfad zwischengespeichert. Um die Tabelle zu aktualisieren, geben Sie das austcsh
, welcherehash
Befehl an der Shell-Eingabeaufforderung.Sie müssen dies tun, wenn Sie eine ausführbare Datei verschieben oder löschen oder wenn Sie Ihrem Pfad etwas hinzufügen.
Wenn du das wirklich benutzt
bash
Shell dann gilt dies nicht.quelle
tsch
es istbash
. (Es war früher in 10.2.x) Es wurde nach 10.3.x geändertDas OS X-Terminal versucht, die in Ihrer PATH-Variablen deklarierten Pfade der Reihe nach zu durchsuchen, bis es sie findet oder die zu überprüfenden Stellen ausgehen. Sie können die PATH-Variable überprüfen, indem Sie an der Eingabeaufforderung Folgendes eingeben:
Sie können Folgendes an der Eingabeaufforderung ausführen, um anzuzeigen, wo Ihre Shell das betreffende Programm findet:
Wenn Sie Python aktualisieren möchten, empfehle ich, es an demselben Speicherort zu installieren, an dem es bereits vorhanden ist. Wenn Sie mehr als eine Version gleichzeitig auf Ihrem Computer installieren möchten, ist die Installation in / usr / local / bin eine logische Wahl, IMO.
quelle
git
und löschen Sie es dann vonusr/bin
Es scheint nicht erneut zu suchen. Es versucht einfach weiter zu rennen/usr/bin/git
.Soweit ich weiß, durchsucht ein Programm beim Ausführen die Ordner in Ihrer $ PATH-Variablen, die durch ":" getrennt ist, z.
Ist Ihr $ PATH richtig eingestellt? Um dies herauszufinden, verwenden Sie:
Sie können auch verwenden welche Python, um herauszufinden, welche Version und von wo es ausgeführt wird. Ich glaube, dies ist auch eine Suche von links nach rechts, sodass das erste Programm mit dem Namen python verwendet wird, das auf dem Pfad gefunden wird.
quelle
Anstatt zu benutzen
Sie können den eingebauten Bash verwenden
Weitere Informationen finden Sie unter
Eine weitere Möglichkeit könnte sein, es zu versuchen
HTH
quelle