Co oznacza $ PATH?

28

Próbuję coś zainstalować, a wśród kroków było to:

„Połóż to na swoim $PATH

Co to znaczy? Co to jest?

Przeszukałem zarówno tę stronę, jak i Google, ale wszyscy biorą to za pewnik!

Adam
źródło
2
@muru Nie. Przeczytałem to pytanie i nie ma ono nic wspólnego z moim. Również to pytanie nie było w ogóle pomocne.
Adam,
4
@muru Myślę, że pytanie nie dotyczy tego, jak dodać (lub mogę nie rozumieć, co oznacza „Umieść to na $ PATH”).
Jacob Vlijm,
1
@JacobVlijm masz rację, nie jest.
Adam,
2
Widzę. W porządku. Związane z; askubuntu.com/q/141718/158442
mur

Odpowiedzi:

24

Uruchom w terminalu:

echo $PATH

lub

printf "%s\n" "$PATH"

zobaczysz listę katalogów, wyglądającą jak:

/home/jacob/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Jeśli umieścisz plik wykonywalny w jednym z tych katalogów, nie musisz ustawiać ścieżki do pliku wykonywalnego / skryptu, ale możesz go uruchomić według jego nazwy jako polecenia.

Pliki wykonywalne w $PATHnie powinny mieć rozszerzenia językowego zgodnie z konwencją (chociaż by działały)

Edycja zmiennej $ PATH

Możesz (na stałe) dodać katalog $PATH, dodając do swojego ~/.profilepliku następujący wiersz (domyślnie niewidoczny, naciśnij Ctrl+ Hw menedżerze plików, aby był widoczny):

export PATH=$PATH:/path/to/dir

Więcej przydatnych informacji na temat zmiennych środowiskowych

(np. $PATH) można znaleźć tutaj (dzięki za sugestie @Letizia)

Jacob Vlijm
źródło
możemy zasugerować, jak to zmienić w .Bashrc PATH = $ PATH: / path / you / want, lub w .profile, co myślisz?
Lety
i jest to przydatny link dla początkujących
Lety
@Letizia Wolałbym pierwszy. Czy usunąłeś swoją odpowiedź? byliśmy prawie w tym samym czasie. mogliśmy stworzyć ładnie rozłożoną kombinację :)
Jacob Vlijm,
Tak, już to zrobiłem, moja odpowiedź została usunięta i pomyślałem, że lepiej przyczynić się do twojego. Co sądzisz o moim komentarzu?
Lety,
@Letizia comment = perfect, będę edytować. Dzięki!
Jacob Vlijm,
6

$PATHto zmienna środowiskowa związana z lokalizacją pliku .

Po wpisaniu polecenia do uruchomienia system szuka go w katalogach określonych przez PATHw podanej kolejności.

Można wyświetlić określone katalogi, wpisując echo $PATHw terminalu.

Załóżmy, że istnieje plik wykonywalny, foobar01.shw /home/user/foo1/foo2/foobar01.shktórym chcesz regularnie wykonywać. wpisanie całej „ścieżki” byłoby czasochłonne. Więc dodajemy katalog do $PATHzmiennej i możemy wykonać foobar.shbezpośrednio, nawet nie podając ścieżki.

Możesz go dodać, $PATHwpisując następujące polecenie

export PATH=$PATH:/home/user/foo1/foo2

astrob0t
źródło
2

Zakładam, że pochodzisz z systemu Windows (przepraszam, jeśli to nieprawda). Mówiąc w skrócie, ścieżka (lub ścieżka wyszukiwania) to lista katalogów, które będą wyszukiwane pod kątem wszystkiego, co wpiszesz w wierszu polecenia. Jeśli wpiszesz wbudowane polecenie, takie jak ls, wyszuka on określoną listę katalogów. Możesz sprawdzić swoją ścieżkę, wpisując echo $ PATH. Oto jedna różnica między Windows a * nix: Domyślnie Windows zawsze szuka pliku wykonywalnego w bieżącym katalogu. Na przykład, jeśli masz plik o nazwie uptime.bat w c: \ myscripts, a ty cd c: \ myscripts i wpiszesz uptime, uruchomi się. Jednak w * nix ścieżka zostanie sprawdzona i znaleziony plik wykonywalny (jeśli jest dostępny).

Jeśli przechowujesz swoje skrypty w katalogu o nazwie / home / teresa / scripts, aby wykonać te skrypty, musisz podać pełną ścieżkę do tego katalogu. Przykład: / hone / teresa / checkHost. Odmiennością może być cd / home / teresa, a następnie wpisz ./checkHost (zwróć uwagę na ./, co oznacza, że ​​wyraźnie prosisz plik o uruchomienie z bieżącego katalogu.

Aby tego uniknąć, wystarczy wpisać

export PATH = $ PATH: / home / teresa / scripts

co oznacza, że ​​oprócz ścieżki, która już istnieje, szukaj także w / hone / teresa / scripts. Problem polega jednak na tym, że po wylogowaniu to ustawienie zniknęło. Powinieneś więc edytować ukryty plik ~ / .bashrc, znaleźć tam linię PATH i odpowiednio go dołączyć. Zakładam, że używasz bash. W przypadku innych powłok składnia i plik są różne.

Jako nowy użytkownik bardzo kusi go mieć. w ścieżce wyszukiwania, co w zasadzie oznacza, że ​​szukaj również w bieżącym katalogu. Nie jest to jednak uważane za dobrą praktykę z powodów omówionych w innym miejscu.

HTH

Hopping Bunny
źródło