Zmienna $PATH jest kluczowym składnikiem w Linuksie i innych uniksopodobnych systemach operacyjnych. Określa listę katalogów, które przechowują różne pliki wykonywalne w systemie i mówi powłoce, gdzie szukać tych plików wykonywalnych.
W świeżej instalacji Linuksa katalogi zawarte w $PATH zapewniają, że większość uruchamianych programów działa bezbłędnie. Może się jednak zdarzyć, że będziesz chciał szybko uruchomić niestandardowe skrypty lub programy w swoim systemie.
W takich przypadkach należy odpowiednio ustawić zmienną $PATH przed uruchomieniem tych programów.
Co to jest $PATH w Linuksie?
Jak wspomniano powyżej, $PATH jest zmienną środowiskową w systemie Linux, która zawiera rozdzieloną dwukropkami listę katalogów, do których odwołuje się powłoka systemu Linux, gdy otrzymuje polecenie lub wywołanie wykonawcze z programu.
Zazwyczaj zmienna $PATH zawiera /bin, /usr/bin, a /usr/local/bin katalogi, przy czym superużytkownik otrzymuje jeszcze dwa wpisy, a mianowicie /sbin i /usr/sbin
. Możesz jednak dodać nowe wpisy do zmiennej $PATH, aby wygodnie uruchamiać skrypty i programy z terminala, niezależnie od bieżącego katalogu roboczego.Dlaczego chcesz ustawić $PATH?
Ogólnie rzecz biorąc, większość programów, które kiedykolwiek uruchomisz w systemie Linux, będzie działać bezbłędnie, a Twoja powłoka nie będzie przedstawiać żadnych błędów w momencie ich wykonywania. Na przykład, gdy biegniesz polecenie ls, powłoka uruchamia go bez błędów, bez konieczności podawania pełnej ścieżki polecenia.
Jednak gdy musisz uruchomić niestandardowy skrypt, nie możesz zadeklarować polecenia exec, tak jak to zrobiłeś z ls polecenie przed. Zamiast tego musisz albo przejść do katalogu skryptu (za pośrednictwem terminala) i uruchomić polecenie z tego miejsca, albo, jeśli chcesz mieć możliwość uruchomienia polecenia z dowolnego miejsca w systemie, określ bezwzględną ścieżkę skryptu w poleceniu, aby pomóc powłoce zlokalizować to.
Związane z: Jak zmienić katalog w systemie Linux za pomocą polecenia cd
Chociaż obie te metody działają dobrze, nie są zbyt wydajne i mogą szybko sprawić, że cały proces stanie się żmudną rutyną. Alternatywnym (czytaj wydajnym i efektywnym) sposobem uruchamiania programów z niestandardowych katalogów jest dodawanie ich z katalogu źródłowego do $PATH twojej powłoki, aby wiedziała, gdzie znaleźć skrypt, i dlatego może go wykonać szybko.
Jak ustawić zmienną $PATH w Linuksie?
W zależności od tego, co chcesz osiągnąć, czy jest to tymczasowa konfiguracja, aby uruchomić skrypt tylko raz, czy planujesz używać skryptu regularnie, istnieją różne sposoby dodania katalogu do Twojego ŚCIEŻKA $.
1. Tymczasowe ustawianie zmiennej $PATH
Jeśli chcesz uruchomić skrypt lub program tylko w bieżącej (aktywnej) sesji, możesz ustawić tymczasową zmienną $PATH. Gdy to zrobisz, będziesz mógł uruchomić ten program za pomocą polecenia z dowolnego miejsca w systemie bez konieczności podawania pełnej ścieżki w poleceniu, ale tylko w bieżącej sesji.
Aby tymczasowo ustawić zmienną $PATH, otwórz terminal i użyj następującej składni, aby dodać katalogi do zmiennej:
export PATH=$PATH:/ścieżka/do/katalogu
Na przykład:
eksportuj PATH=$PATH:/home/kuźnia/skrypty/
Pamiętaj, że przy tej konfiguracji możesz uruchomić program tylko w aktywnej sesji. Gdy tymczasowo ustawisz zmienną $PATH, system zresetuje ją z powrotem do ustawień domyślnych po ponownym uruchomieniu komputera.
2. Ustawianie stałej zmiennej $PATH
Jeśli w twoim systemie jest program, którego prawdopodobnie będziesz często używać, musisz ustawić dla niego zmienną $PATH na stałe. Zapewni to, że powłoka zapamięta swój katalog nawet po ponownym uruchomieniu.
Jednak w przeciwieństwie do rozwiązania tymczasowego, ustawienie $PATH na stałe wymaga kilku dodatkowych kroków: zidentyfikuj używaną powłokę, edytuj odpowiedni plik konfiguracyjny i ustaw $PATH tam zmienna.
Aby zidentyfikować powłokę w systemie, uruchom następujące polecenie w terminalu:
echo $0
Powinieneś zobaczyć nazwę swojej aktywnej powłoki jako dane wyjściowe. W większości przypadków będzie to Bash powłoki B, chyba że zmieniłeś go na Zsh, Ksh lub inną powłokę Linuksa.
Teraz, w oparciu o powłokę, której używasz, będziesz musiał edytować jej plik konfiguracyjny. Oto plik, który musisz edytować w oparciu o twoją powłokę:
Nazwa powłoki | Plik konfiguracyjny |
---|---|
grzmotnąć | ~/.bashrc |
ksz | ~/.kshrc |
zsh | ~/.zshrc |
cszi | ~/.cshrc |
W przypadku innej powłoki, sprawdź jej dokumentację, aby znaleźć nazwę jej pliku konfiguracyjnego.
Po określeniu pliku, który chcesz edytować, wykonaj poniższe czynności, aby ustawić zmienną $PATH. W tym przewodniku zademonstrujemy, jak ustawić zmienną $PATH w powłoce Bash.
- Otwórz terminal i wprowadź następujące polecenie, aby otworzyć .bashrc plik. Możesz użyć dowolny edytor tekstu Linux do wyboru.
nano ~/.bashrc
- Użyj następującej składni, aby ustawić zmienną $PATH.
eksportuj PATH=$PATH:/ścieżka/do/katalogu/
- Zapisz plik i zaktualizuj bieżące środowisko powłoki za pomocą źródło.
źródło ~/.bashrc
- Wpisz następujące polecenie, aby sprawdzić, czy katalog został dodany, czy nie.
echo $PATH
Jeśli wpisałeś ścieżkę do katalogu poprawnie, będzie to odzwierciedlone w $PATH twojego systemu i powinieneś być w stanie uruchomić wszystkie skrypty w folderze z dowolnego katalogu w twoim systemie.
Poza tym Linux pozwala również na stałe ustawienie zmiennej $PATH w konfiguracji ogólnosystemowej, więc że każdy użytkownik w twoim systemie może uzyskać dostęp i wykonać niestandardowe skrypty obecne w określonym informator.
Aby ustawić $PATH globalnie, musisz dodać katalog za pomocą tego samego polecenia, którego użyłeś podczas dodawania tymczasowej i stałej konfiguracji, ale albo w /etc/environment albo /etc/profile plik.
Otwórz jeden z tych plików i dołącz ścieżkę do katalogu:
nano /etc/środowisko
nano /etc/profil
Pomyślne ustawienie $PATH w Linuksie
Wykonując powyższe kroki, możesz ustawić $PATH systemu tak, aby szukała skryptów w katalogach, które w przeciwnym razie są nieokreślone.
W większości przypadków zalecamy ustawienie zmiennej $PATH w systemie na stałe w konfiguracji na użytkownika, ponieważ jest to najbardziej wydajny sposób spośród dwóch metod.
Pamiętaj też, że jeśli nie ma określonego programu w twoim systemie, do którego chcesz uzyskać dostęp globalnie, nie musisz ustawiać zmiennej $PATH w konfiguracji ogólnosystemowej. Znajdź i odnaleźć polecenia w systemie Linux ratują życie, jeśli napotykasz problemy podczas wyszukiwania katalogu źródłowego, który należy dodać do zmiennej $PATH.
Szukać czegoś? Oto jak znaleźć dokładny katalog, którego potrzebujesz w systemie Linux.
Czytaj dalej
- Linux
- Terminal
- Linux
Yash jest pisarzem sztabowym w MUO zajmującym się majsterkowaniem, Linuksem, programowaniem i bezpieczeństwem. Zanim odnalazł swoją pasję w pisaniu, zajmował się tworzeniem aplikacji internetowych i iOS. Możesz również znaleźć jego teksty na TechPP, gdzie zajmuje się innymi branżami. Poza technologią lubi rozmawiać o astronomii, Formule 1 i zegarkach.
Zapisz się do naszego newslettera
Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Jeszcze jeden krok…!
Potwierdź swój adres e-mail w e-mailu, który właśnie do Ciebie wysłaliśmy.