Kuidas lisada kataloogi PATH -ile Linuxis

How Add Directory Path Linux

PATH on Linuxi kesta eelmääratletud muutuja. See koosneb kataloogidest oma kataloogiteedega, alustades juurest. PATH on koolonitega eraldatud loend. Iga kataloog koos oma teega on eelmisest kataloogist oma teega eraldatud kooloniga. Kest otsib nendest kataloogidest käske.

Käsud ei ole ainult ketta operatsioonisüsteemi käsud. Tee on kataloogide loend, kus kest otsib operatsioonisüsteemi käske ja muid käske. Käsud on nagu lühikesed programmifailid. Niisiis, käsud on käivitatavad. Iga arvutisse installitud rakendusega on kaasas käivitatav fail. Rakenduse käivitamiseks kaasatakse kõigepealt käivitatav fail. Neid käivitatavaid faile nimetatakse ka käskudeks.



Ilma muutujata PATH käsutaks iga käsk absoluutset teed, nagu



/home/john/dir1/dir2/command.exe



kus esimene / on juurkataloog; john on kasutaja kataloog, John; dir1 ja dir2 on alamkataloogid; ja command.exe on käivitatava faili nimi.

Käivitatava faili jaoks on võimalikud paljud muud nimed. Tegelikult on command.exe siin sümboolne. Niisiis, kui kataloog/home/john/dir1/dir2 (ilma failita) on muutuja PATH, täidab kasutaja john käsu command.exe, [email protected]: ~ $, lihtsalt sisestades command.exe, ilma eelneva teeta. See on:

[e -post kaitstud]: ~ $command.exe

ja seejärel vajutage sisestusklahvi.

Arvutis praeguse PATH -kataloogide loendi nägemiseks tippige:

$viskas välja $ PATH

ja vajutage terminalis sisestusklahvi. Tulemuseks oleks midagi sellist,

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Nüüd on küsimus järgmine: kuidas kataloog (ja selle eelnev tee) lisatakse muutujale PATH? Mõne installimise korral lisatakse kataloog automaatselt. Teiste puhul tuleb see käsitsi lisada. Selles artiklis selgitatakse kahte peamist viisi, kuidas kataloogi lisada. Kataloogi ei lisata (kaasa arvatud), nagu seda tehakse massiiviga. Neid kahte peamist viisi nimetatakse ajutiseks ja püsivaks lisamiseks. Bash on kest, mida kasutatakse selles artiklis koodinäidete jaoks.

Artikli sisu

Ajutine lisamine

Ajutine lisamine tähendab, et liitmine toimub ainult mälus. Seda ei salvestata kasutamiseks arvuti taaskäivitamisel.

Bourne Shelli sisseehitatud ekspordi käsk

Lihtsamalt öeldes on ekspordi käsk järgmine:

$eksportida [nimi[= väärtus]]

Sel juhul määrab see mälus olevale muutujale väärtuse uuesti.

Muutuja PATH mälul võib juba olla selline väärtus nagu

PATH =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Oletame, et lisatav kataloog on/home/john/dir1/dir2. Kui ekspordikäsk on kirjutatud,

$eksportida RADA=/Kodu/john/dir1/dir2

siis asendaks/home/john/dir1/dir2 PATH muutuja väärtuseks kõik, mis on juba mälus.

Kui ekspordikäsk on kirjutatud,

$eksportida RADA=$ PATH:/Kodu/john/dir1/dir2

Seejärel kinnitaks/home/john/dir1/dir2 end muutuja muutuja lõpus. Niisiis, uus muutuja oleks järgmine:

PATH =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/ home/john/dir1/dir2

Pange tähele, et ülaltoodud eelmises koodireas eraldatakse juba olemasolev väärtuse osa uuest osast kooloniga, mis on „:”. $ PATH koodireal, laiendab (asendatakse) juba mälus oleva PATH väärtusega.

Nüüd võib sama käsk olla rohkem kui ühes kataloogis. Kui käivitatav käsk sisestatakse viipal ilma eelneva teeta, hakkab kest otsima muutuja PATH väärtust (stringi) mälust vasakult paremale. Niisiis, ülaltoodud koodiridaga jõuab lõpuks otsingusse/home/john/dir1/dir2. Kes tahab, et tema kataloog jõuaks viimasena? - Mitte keegi. Niisiis, parem viis kataloogi kaasamiseks (lisamiseks) on järgmine:

$eksportida RADA=/Kodu/john/dir1/dir2:$ PATH

/home/john/dir1/dir2 on nüüd alguses, eraldatud järgmisest kataloogist, kooloniga. Niisiis, kui küsitakse [email protected]: ~ $,

[e -post kaitstud]: ~ $eksportida RADA=/Kodu/john/dir1/dir2:$ PATH

pärast sisestamist ja sisestusklahvi vajutamist käivitatakse käsk command.exe kataloogis dir2 järgmiselt:

[e -post kaitstud]: ~ $command.exe

Niikaua kui arvuti pole välja lülitatud, jätkab kasutaja command.exe täitmist ilma eelnevat teed sisestamata.

Kui arvuti välja lülitatakse, kustutatakse kõik juhusliku juurdepääsuga mälust. Halb uudis on see, et arvutikasutaja peab kordama seda protsessi, lisades oma kataloogi muutujale PATH iga kord, kui arvuti taaskäivitatakse. Keegi ei taha seda täna teha. Seega on soovitatav kasutada püsiva täiendamise meetodit. See tähendab, et PATH -i lisamine tuleb salvestada (kõvakettale).

Alaline lisamine

Ülaltoodud arutelust tuleneb idee salvestada tehtud muudatus (kõvakettale). Niisiis, kui muudatus salvestatakse faili, mida kest loeb iga kord, kui arvuti käivitub, on see hea. See tähendab, et iga kord, kui arvuti käivitub, värskendatakse mälu muutujat PATH vastavalt. Kui arvuti käivitub, loeb see käivitamisel teatud faile. Üks failidest, mida Linuxi Bash -kest loeb, on ~/.bashrc. Faili nimi on. bashrc , alustades punktist. See asub kasutaja kataloogis.

Bash on tänapäeval vaid üks kest, tõenäoliselt Linuxi kõige populaarsem kest. Teine Linuxi kest on Zsh. Zsh puhul on vastav fail ~/. zshrc , on endiselt kasutaja kataloogis. Kui kest käivitub, loeb see käivitamisel seda faili. Bashi jaoks on fail ~/.bashrc. Seega, kui ülaltoodud lisakood sisestatakse faili ~/.bashrc, on kataloog alati mälus, kuna ~/.bashrc lisab selle alati arvuti käivitamisel PATH -i. See jääb mällu, kuni arvuti välja lülitatakse.

Bashis on ~/.bashrc peidetud fail, nii et käsu tavaline kasutamine ls seda ei näita. ~/.bashrc sisaldab mõningaid käske Bash (shell). Ubuntu on Linuxi variant. Ubuntu on varustatud tekstiredaktoriga. Autori arvutis on Ubuntu tekstiredaktori taust must.

Ülaltoodud lisamise käsk (ilma viipata) tuleks lisada faili ~/.bashrc. See on hea lisada faili lõppu, et mitte karastada saadaolevat sisu, mis ilmselt töötab hästi.

Ubuntu ~/.bashrc avamiseks tippige terminali käsureale järgmine ja vajutage sisestusklahvi:

$nano~/.bashrc

Kus nano on tekstiredaktor. Siin on nano käsk (käivitatav), mille argument on ~/.bashrc. Faili sisu peaks terminaliakna katmiseks tekstiredaktoris avanema.

Fail ~/.bashrc avaneb tekstiredaktoris, tõenäoliselt musta taustaga. Kursor hakkab vasakus ülanurgas vilkuma.

Vajutage pidevalt klaviatuuri allanoolt, kuni kursor jõuab faili lõppu. Lisage uus rida,

$eksportida RADA=/Kodu/john/dir1/dir2:$ PATH

See pole veel kõik. Faili ~/.bashrc muudatust pole salvestatud. Muudatusega faili salvestamiseks vajutage klahvikombinatsiooni Ctrl+o ja järgige muid kuvatavaid juhiseid. Tekstiredaktorist väljumiseks vajutage klahvikombinatsiooni Ctrl+x ja tavaline terminaliaken peaks tekstiredaktori akna asendama. Seejärel saab väljastada muid kesta käske.

Kui väljastatakse echo $ PATH, ei kuvata ekraanil uut kataloogi. Siit saab jätkata kahel viisil: kas taaskäivitage arvuti või laadige faili ~/.bashrc uus sisu mälule käsuga source. Allika käsku on lihtne kasutada järgmiselt.

$allikas~/.bashrc

Kui allikakäsk väljastatakse ilma taaskäivitamiseta, näitab echo $ PATH tulemusele lisatud uut kataloogi (kuva). Seejärel saab huvipakkuva käsu sisestada ilma eelneva tee.

Märge: Ärge ajage segamini PATH väärtuse (loendi) lõppu ja faili ~/.bashrc lõppu. Samuti ärge ajage segadusse mälu PATH kataloogi ja kõvaketta kataloogi käivitatava faili vahel.

Järeldus

PATH on Linuxi kestades sisseehitatud muutuja. PATH väärtus on koolonitega eraldatud kataloogide loend. Kõigi nende kataloogide jaoks on kõvakettal käsk (käivitatav fail). Kui müügi ajal antakse käsk ilma seda teega ette kirjutamata, otsib kest käsklust nendest kataloogidest. Kui see ei näe käsku üheski kataloogis, siis käsku ei täideta. Sel juhul peab käsu täitmiseks käsk olema enne selle teed. Käsk võib olla PATH väärtuses rohkem kui ühes kataloogis. Niipea kui kest näeb esimest käsku sisaldavat kataloogi, täidab see käsu. PATH väärtus on tegelikult string, mis koosneb koolonitega eraldatud kataloogidest.

Probleem on selles, kuidas lisada uue rakenduse käivitatava faili kataloog PATH -i. Mõnel juhul teeb seda automaatselt uue rakenduse installiprogramm. Muudel juhtudel tuleb seda teha käsitsi. Käsitsi saab seda teha kahel viisil, mida nimetatakse: ajutine lisamine ja alaline lisamine. Ajutine lisamine kasutab käsku eksport ja lisab kataloogi lihtsalt arvuti sisselülitamisel. Püsiv lisamine peab tulevaste toimingute jaoks salvestama ekspordi käsurea ~/.bashrc initsialiseerimisfaili (Bash).