PATH jest specjalną zmienną środowiskową w systemach UNIX (i UNIX-podobnych, np. GNU/Linux), która jest często używana i obsługiwana przez powłokę (choć inne rzeczy mogą z niej korzystać).
Jest nieco zwięzłe wyjaśnienie on wikipedia, ale w zasadzie służy do określenia, gdzie szukać plików wykonywalnych (niezależnie od tego, czy pliki binarne, skrypty powłoki, cokolwiek).
można dowiedzieć się, co aktualnie PATH jest ustawiony za pomocą prostego polecenia powłoki:
: $; echo $PATH
(Uwaga: : $;
jest przeznaczona do reprezentowania zachęty powłoki, może to być coś zupełnie innego dla ciebie; po prostu wiedz, że niezależnie od tego, jaki jest twój znak zachęty, to właśnie reprezentuję ten ciąg.)
W zależności od systemu i wcześniejszej konfiguracji wartość będzie się różnić, ale bardzo prosty przykład wyjścia może wyglądać następująco:
/usr/bin:/bin:/usr/local/bin
Jest to dwukropek (:
) - oddzielona lista katalogów, w których można wyszukiwać pliki wykonywalne (takie jak ls
, i tak dalej). Krótko mówiąc, podczas próby wykonania polecenia ze swojej powłoki (lub z wnętrza niektórych) inny program w określony sposób), przeszukuje każdy z katalogów na tej liście, po kolei szuka pliku wykonywalnego o podanej nazwie i uruchamia pierwszy znaleziony. A więc taka jest koncepcja na każde pytanie.
Z tego miejsca, co mówi ta dokumentacja, należy dodać katalog, w którym rozpakowałeś oprogramowanie, w szczególności jego podkatalog bin
, do zmiennej $PATH
. Jak to zrobić, zależy od tego, której powłoki używasz, ale w przypadku większości (Bourne-kompatybilnych) powłok, powinieneś być w stanie zrobić coś takiego, jeśli jesteś w katalogu, w którym katalog bin
to:
: $; PATH="$PATH:$PWD/bin"; export PATH
W prawie wszystkich, ale rzeczywistej Bourne shell, ten może być skrócony do:
: $; export PATH="$PATH:$PWD/bin"
(nie będę męczyć wyjaśniając dla csh zgodny muszli (bo: Zgadzam się z innych rad, że cię don't use them), ale można w nich także zrobić coś podobnego, jeśli z jakiegoś powodu jest to wybrane przez ciebie środowisko.)
Przypuszczalnie jednak, będziemy chcieli, aby zapisać to w pliku konfiguracyjnym powłoki specyficzne (może być ~/.profile
, ~/.bashrc
, ~/.zshrc
... w zależności od powłoki) i bez odniesienia do $PWD
, ale raczej do tego, co rozszerzył się do. Jednym ze sposobów osiągnięcia tego celu można byłoby zrobić coś takiego:
: $; echo "export PATH=\"\$PATH:$PWD/bin\""
i skopiuj/wklej otrzymanej linii do odpowiedniego pliku konfiguracyjnego.
Oczywiście można również wygenerować odpowiednie polecenie w inny sposób, szczególnie jeśli Twój $PWD
nie jest obecnie tam, gdzie znajduje się katalog bin
.
Zobacz także:
Można Google, że! – Chiron
Odnośnie do głosów na zamknięcie, mogę myśleć o dwóch powodach: (1) nie jest to prawdopodobnie pytanie * programistyczne, per se, a zatem może nie pasować do [standardów na dany temat] (http: // /stackoverflow.com/help/on-topic) i zamiast tego należy do, powiedzmy, [SU] (http://superuser.com/) i/lub (2), że jest to pytanie prawdopodobnie zadawane (i udzielane) przed . Wydaje mi się jednak, że jest to wystarczająco ważne pytanie (nawet jeśli może to być niewłaściwe miejsce), dlatego dodałem odpowiedź, która, mam nadzieję, okaże się pomocna. Najlepiej! – lindes