Czym jest PATH w systemie Mac (UNIX)?
Próbuję skonfigurować projekt, storm z git:
https://github.com/nathanmarz/storm/wiki/Setting-up-development-environment
Pobierz wersję Storm, rozpakuj ją i umieść rozpakowany katalog bin / na swojej ścieżce
Moje pytanie brzmi: co oznacza ścieżka? Co dokładnie chcą, żebym zrobił?
Czasami widzę jakieś /bin / path, $PATH lub Echo PATH.
Może ktoś wyjaśnić pojęcie ścieżki, żebym mógł ustawić wszystko łatwo w przyszłości bez ślepego podążania za instrukcjami?
1 answers
PATH jest specjalną zmienną środowiskową w systemach UNIX (i uniksopodobnych, np. GNU/Linux), która jest często używana i manipulowana przez powłokę (choć inne rzeczy mogą jej używać).
Jest nieco skrótowe Wyjaśnienie na Wikipedii, ale w zasadzie służy do określania, gdzie szukać plików wykonywalnych(czy to binaria, skrypty powłoki, cokolwiek).
Możesz dowiedzieć się, na co ustawiona jest bieżąca ścieżka za pomocą prostej powłoki polecenie:
: $; echo $PATH
(Uwaga: : $;
ma reprezentować znak zachęty powłoki; może to być dla Ciebie coś zupełnie innego; wiedz tylko, że cokolwiek to jest znak zachęty, to właśnie reprezentuję za pomocą tego ciągu.)
W zależności od systemu i wcześniejszej konfiguracji, wartość będzie się różnić, ale bardzo prostym przykładem wyjścia może być coś w stylu:
/usr/bin:/bin:/usr/local/bin
Jest to dwukropek (:
)-rozdzielona lista katalogów, w których można wyszukiwać pliki wykonywalne (takie jak ls
, itd.) Krótko mówiąc, gdy spróbujesz wykonać polecenie z powłoki (lub z innego programu w określony sposób), będzie on przeszukiwał każdy z katalogów na tej liście, w kolejności, szukając pliku wykonywalnego o podanej nazwie i uruchamiając pierwszy, który znajdzie. Więc to jest koncepcja, na twoje pytanie.
Stamtąd, co ta dokumentacja każe ci zrobić, to dodać katalog, w którym rozpakowałeś oprogramowanie, a w szczególności jego bin
podkatalogu, do zmiennej $PATH
. To, jak to zrobić, zaleĹźy trochÄ ™ od tego, ktĂłrej powłoki uĺźywasz, ale dla wiÄ ™ kszoĹ" ci (Bourne-compatible) powłok, powinno byÄ ‡ moĹźliwoĹ "Ä ‡ zrobienia czegoĹ" takiego, jeĹ " li znajdujesz siÄ ™ w katalogu, w ktĂłrym znajduje siÄ ™ katalog bin
:
: $; PATH="$PATH:$PWD/bin"; export PATH
W prawie wszystkim poza rzeczywistą powłoką Bourne ' a, można to skrócić do:
: $; export PATH="$PATH:$PWD/bin"
(nie będę się trudził wyjaśnianiem powłok kompatybilnych z CSH (ponieważ: zgadzam się z innymi poradami, że ty nie używaj ich), ale coś podobnego można również zrobić w nich, jeśli z jakiegoś powodu jest to twoje środowisko z wyboru.)
Prawdopodobnie będziesz chciał zapisać to do pliku konfiguracyjnego specyficznego dla powłoki (może to być ~/.profile
, ~/.bashrc
, ~/.zshrc
... w zależności od powłoki), i bez odniesienia do $PWD
, ale raczej do tego, do czego się rozszerzyła. Jednym ze sposobów na osiągnięcie tego byłoby zrobienie czegoś takiego:
: $; echo "export PATH=\"\$PATH:$PWD/bin\""
A następnie skopiuj / wklej wynikową linię do odpowiedniego plik konfiguracyjny.
Oczywiście możesz również wygenerować odpowiednie polecenie w inny sposób, zwłaszcza jeśli twój $PWD
nie znajduje się obecnie tam, gdzie znajduje się katalog bin
.
Zobacz też:
-
artykuł o
$PATH
(i więcej) - pytanie związane z superuser.com
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-20 10:18:14