Wiele samouczków dotyczących programowania wymaga od użytkowników dodania czegoś, PATH
ale nie wyjaśnia, co to jest. Istniejące zasoby, które wyjaśniają PATH
nowym użytkownikom wiersz poleceń, nie są zbyt dobre.
Co to jest
PATH
zmienna Unix ?Właśnie pobrałem program, a następnie próbowałem uruchomić polecenie w terminalu i dostałem
command not found
. Co to ma wspólnego zPATH
?Dodałem coś do tego za
PATH
pomocą tego polecenia, a potem wszystko działało:export PATH=/path/to/some/bin:$PATH
... ale potem
command not found
znów dostałem, kiedy następnym razem uruchomiłem komputer. Jak mogę sprawić, aby pozostawał włączony zaPATH
każdym razem, gdy otwieram Terminal?Jak najlepiej ustalić, czy program taki jak Git
gcc
jest już załadowany na mój komputer?
Odpowiedzi:
Ścieżka UNIX to zmienna środowiskowa, która jest listą katalogów, w których można szukać programów, które próbujesz uruchomić. Pozwala to uniknąć konieczności używania pełnej nazwy ścieżki do uruchamiania takich rzeczy
/bin/ls
(na przykład poprzez wstawienie/bin
ścieżki).Na przykład ścieżka może składać się z:
a to oznacza, że po wpisaniu polecenia
xyzzy
spróbuje uruchomić pierwszy znaleziony plik z bieżącej listy:( może pomijać pliki niewykonywalne, jeśli jest sprytny).
Możesz dodawać elementy do ścieżki za pomocą polecenia:
które miejsca
/directory/to/add
na początku listy wyszukiwania ścieżek i/low/priority/path
na końcu.Jednak zwykle zmienia się to tylko dla bieżącej powłoki. Jeśli chcesz wprowadzić zmiany w każdej powłoce, powinieneś dodać tę linię do jednego z plików startowych, takich jak
$HOME/.profile
lub/etc/profile
. Właściwy plik do użycia zależy od samej powłoki i od ustawień plików startowych. Nie zawsze łatwo jest powiedzieć, gdzie powinien się udać, ale reguły są ogólnie wyjaśnione na stronie podręcznika dla jakiejkolwiek powłoki, której używasz.Zazwyczaj można znaleźć polecenie na ścieżce za pomocą jednego z:
zlokalizować
cmd
plik wykonywalny. Na przykład w moim systemie Debian otrzymuję następujący zapis:źródło
:
jako separatora, ponieważ jest używana w * nix. Windows używa;
(prawdopodobnie dlatego, że:
ma już znaczenie wC:
).:
(na przykład w Javiepath.separator
jest zawsze:
na * nix).Co jest?
Zmienna środowiskowa PATH to rozdzielona dwukropkami lista katalogów, które przeszukuje twoja powłoka po wprowadzeniu polecenia.
Jak to ustawić?
Jak mogę sprawić, by pozostawał na ŚCIEŻCE za każdym razem, gdy otwieram Terminal?
Wstaw dwa poprzednie wiersze do środka
~/.bash_profile
(jeśli używaszbash
terminala).źródło
PATH to zmienna środowiskowa dla systemów typu unix.
ustaw ścieżkę:
export PATH=$PATH:<your path>
nieuzbrojona ścieżka:
unset $PATH
ustaw ścieżkę na stałe
w folderze domowym włącz Widok -> Pokaż ukryte pliki .... pióro .bash_profile plik, przed eksportem wiersza ŚCIEŻKA, dodaj ten wiersz .....
PATH=$PATH:<yourpath>
wyloguj się i zaloguj ponownie ...... sprawdź, czy działa ... dobrze! powinno działać .....
źródło