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!
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!
Odpowiedzi:
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)
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
(np. $PATH) można znaleźć tutaj (dzięki za sugestie @Letizia)
$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
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