Pochodzę z korzystania z cygwin w systemie Windows i właśnie zacząłem używać Maca. Zastanawiam się, dlaczego wydaje się, że ścieżki wyszukiwania nie działają tak, jak powinny.
Jeśli mam program w /usr/bin/prog
i usuwam to. Wydaje się, że wciąż próbuje tej dokładnej ścieżki zamiast szukać jej ponownie (powiedzmy, że przeniosłem ją na /usr/local/bin
).
Czy to z powodu aplikacji terminalowej, czy jest to coś specyficznego dla systemu Mac? Ponadto, jeśli chcę zainstalować nową wersję Pythona /usr/local/bin
, to właściwy sposób, aby go usunąć /usr/bin/
?
Odpowiedzi:
Nie mówisz, której powłoki używasz, chociaż twoje pytanie jest oznaczone tagiem
bash
.Domyślna powłoka Mac OS X toJeśli używasz tcsh lub csh, buforują one tabelę elementów na twojej ścieżce. Aby odświeżyć tabelę, wydajtcsh
, któryrehash
polecenie po znaku powłoki.Musisz to zrobić za każdym razem, gdy przenosisz lub usuniesz plik wykonywalny lub jeśli dodasz coś do swojej ścieżki.
Jeśli naprawdę używasz
bash
powłoka to nie ma zastosowania.źródło
tsch
jegobash
. (Kiedyś wrócił do wersji 10.2.x) Zmienił się po 10.3.xTerminal OS X wypróbuje ścieżki zadeklarowane w zmiennej PATH, w kolejności, aż znajdzie ją lub zabraknie miejsc do sprawdzenia. Możesz sprawdzić, jaka jest twoja zmienna PATH, wpisując następujące polecenie w wierszu polecenia:
Możesz uruchomić następujące polecenie z wiersza polecenia, aby zobaczyć, gdzie Twoja powłoka znajduje dany program:
Jeśli chcesz uaktualnić Pythona, polecam zainstalowanie go w tej samej lokalizacji, w której już istnieje. Jeśli chcesz mieć więcej niż jedną wersję zainstalowaną na swoim komputerze na raz, to zainstalowanie jej w / usr / local / bin byłoby logicznym wyborem IMO.
źródło
git
, a następnie usuń go zusr/bin
, wydaje się, że nie wyszukuje ponownie. Po prostu próbuje uciekać/usr/bin/git
.Z tego, co rozumiem, gdy wykonujesz program, przeszuka foldery na twojej zmiennej $ PATH, która jest oddzielona przez „:” np.
Czy twój $ PATH jest skonfigurowany poprawnie? Aby to sprawdzić, użyj:
Możesz także użyć który python, aby znaleźć wersję i skąd jest uruchomiony. Sądzę, że jest to również wyszukiwanie od lewej do prawej, więc zajmie on pierwszy program o nazwie python, który znajdzie na ścieżce.
źródło
Zamiast używać
możesz użyć wbudowanego Basha
Aby uzyskać więcej informacji, zobacz
Jeszcze inną opcją może być próba
HTH
źródło