Kaip pridėti katalogą prie „PATH“ „Linux“

How Add Directory Path Linux



PATH yra iš anksto nustatytas kintamasis „Linux“ apvalkale. Jį sudaro katalogai su jų katalogų keliais, pradedant nuo šaknies. PATH yra dvitaškiais atskirtas sąrašas. Kiekvienas katalogas su savo keliu yra atskirtas nuo ankstesnio katalogo su keliu dvitaškiu. Korpusas ieško komandų šiuose kataloguose.

Komandos yra ne tik disko operacinės sistemos komandos. Kelias yra katalogų, kuriuose apvalkalas ieško operacinės sistemos komandų ir kitų komandų, sąrašas. Komandos yra tarsi trumpi programos failai. Taigi, komandos yra vykdomosios. Kiekviena kompiuteryje įdiegta programa turi vykdomąjį failą. Norint paleisti programą, pirmiausia įtraukiamas vykdomasis failas. Šie vykdomieji failai taip pat vadinami komandomis.







Be kintamojo PATH, kiekvienai komandai būtų nurodytas absoliutus kelias, kaip



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



kur pirmasis / yra šakninis katalogas; john yra vartotojo katalogas vartotojui, John; dir1 ir dir2 yra pakatalogiai; ir command.exe yra vykdomojo failo pavadinimas.





Vykdomojo failo pavadinimai galimi daug kitų. Tiesą sakant, čia komanda.exe yra simbolinė. Taigi, jei katalogas/home/john/dir1/dir2 (be failo) yra PATH kintamajame, vartotojas johas paragins vykdyti komandą.exe, [email protected]: ~ $ tiesiog įvesdami, command.exe, be ankstesnio kelio. Tai yra:

[apsaugotas el. paštas]: ~ $command.exe

ir tada paspauskite Enter.

Norėdami pamatyti dabartinį kompiuterio PATH katalogų sąrašą, įveskite:

$išmetė $ PATH

ir terminale paspauskite „Enter“. Rezultatas būtų maždaug toks,

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

Dabar kyla klausimas: kaip katalogas (ir jo ankstesnis kelias) pridedamas prie kintamojo PATH? Kai kuriuose įrenginiuose katalogas pridedamas automatiškai. Su kitais jis turi būti pridėtas rankiniu būdu. Šiame straipsnyje paaiškinami du pagrindiniai būdai, kuriais pridedamas katalogas. Katalogas nepridedamas (įtraukiamas), kaip tai būtų daroma masyvui. Du pagrindiniai būdai vadinami laikinu papildymu ir nuolatiniu papildymu. Bash yra apvalkalas, naudojamas kodo pavyzdžiams šiame straipsnyje.

Straipsnio turinys

Laikinas papildymas

Laikinas pridėjimas reiškia, kad pridėjimas vyksta tik atmintyje. Jis neišsaugomas naudoti, kai kompiuteris perkraunamas.

„Bourne Shell“ integruota eksporto komanda

Paprasčiau tariant, eksporto komanda yra tokia:

$eksportas [vardas[= vertė]]

Tokiu atveju jis iš naujo priskiria reikšmę kintamajam atmintyje.

Atminties kintamasis PATH jau gali turėti tokią vertę kaip

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

Tarkime, kad katalogas, kurį reikia pridėti, yra/home/john/dir1/dir2. Jei eksportavimo komanda įvedama kaip,

$eksportas PATH=/namai/Džonas/dir1/dir2

tada/home/john/dir1/dir2 pakeis viską, kas jau yra atmintyje, kaip PATH kintamojo vertę.

Jei eksportavimo komanda įvedama kaip,

$eksportas PATH=$ PATH:/namai/Džonas/dir1/dir2

Tada/home/john/dir1/dir2 prisirištų prie to, kas jau yra kintamajame. Taigi naujas kintamasis būtų toks:

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

Atkreipkite dėmesį, kad ankstesnėje aukščiau esančioje kodo eilutėje jau esanti vertės dalis nuo naujos dalies atskiriama dvitaškiu, kuris yra „:“. $ PATH kodo eilutėje, išplečiama (pakeičiama) PATH reikšme, kuri jau yra atmintyje.

Dabar ta pati komanda gali būti daugiau nei viename kataloge. Kai eilutėje įvedama vykdomoji komanda be ankstesnio kelio, apvalkalas pradeda ieškoti atminties kintamojo PATH vertės (eilutės) iš kairės į dešinę. Taigi, naudojant aukščiau pateiktą kodo eilutę,/home/john/dir1/dir2 pagaliau atsidurs paieškoje. Kas nori, kad jo katalogas būtų paskutinis? - Niekas. Taigi, geresnis būdas įtraukti (pridėti) katalogą yra toks:

$eksportas PATH=/namai/Džonas/dir1/dir2:$ PATH

/home/john/dir1/dir2 dabar yra pradžioje, atskirtas nuo kito katalogo, su dvitaškiu. Taigi, paraginus [email protected]: ~ $,

[apsaugotas el. paštas]: ~ $eksportas PATH=/namai/Džonas/dir1/dir2:$ PATH

įvedus ir paspaudus Enter, komanda, command.exe kataloge, dir2, bus vykdoma su:

[apsaugotas el. paštas]: ~ $command.exe

Kol kompiuteris nebus išjungtas, vartotojas ir toliau vykdys komandą command.exe neįvesdamas ankstesnio kelio.

Išjungus kompiuterį, viskas, kas yra atsitiktinės prieigos atmintyje, ištrinama. Blogos naujienos yra tai, kad kompiuterio vartotojas turės pakartoti šį procesą, pridėdamas savo katalogą prie kintamojo PATH kiekvieną kartą, kai kompiuteris bus paleistas iš naujo. Šiandien niekas nenori to daryti. Taigi rekomenduojamas nuolatinio papildymo metodas. Tai yra, PATH papildymas turi būti išsaugotas (kietajame diske).

Nuolatinis papildymas

Iš aukščiau pateiktos diskusijos idėja yra išsaugoti atliktą pakeitimą (standžiajame diske). Taigi, jei pakeitimas išsaugomas faile, kurį apvalkalas skaito kiekvieną kartą, kai kompiuteris paleidžiamas, tai būtų gerai. Tai yra, kiekvieną kartą paleidus kompiuterį, PATH kintamasis atmintyje bus tinkamai atnaujintas. Kai kompiuteris paleidžiamas, paleidžiant, jis skaito tam tikrus failus. Vienas iš failų, kuriuos skaito „Linux“ „Bash“ apvalkalas, yra ~/.bashrc. Failo pavadinimas yra. bashrc , pradedant tašku. Jis yra vartotojo kataloge.

„Bash“ yra tik vienas apvalkalas, turbūt populiariausias „Linux“ apvalkalas šiandien. Kitas „Linux“ apvalkalas yra „Zsh“. Naudojant Zsh, atitinkamas failas yra ~/. zshrc , vis dar yra vartotojo kataloge. Kai apvalkalas prasideda, paleidžiant, jis skaito šį failą. „Bash“ failas yra ~/.bashrc. Taigi, jei aukščiau pateiktas papildomas kodas įvedamas į failą ~/.bashrc, katalogas visada bus atmintyje, nes ~/.bashrc jį visada įtraukia į PATH kiekvieną kartą, kai kompiuteris paleidžiamas. Jis lieka atmintyje, kol kompiuteris bus išjungtas.

„Bash“ programoje ~/.bashrc yra paslėptas failas, todėl įprastas komandos naudojimas ls jo nerodys. ~/.bashrc yra keletas Bash (apvalkalo) komandų. „Ubuntu“ yra „Linux“ variantas. „Ubuntu“ yra su teksto redaktoriumi. Autoriaus kompiuteryje „Ubuntu“ teksto redaktoriaus fonas yra juodas.

Aukščiau pateikta papildymo komanda (be raginimo) turėtų būti įtraukta į failą ~/.bashrc. Gerai jį pridėti failo pabaigoje, kad nesusigundytumėte turimu turiniu, kuris tikriausiai veikia gerai.

Norėdami atidaryti ~/.bashrc „Ubuntu“, terminalo komandų eilutėje įveskite šiuos duomenis ir paspauskite „Enter“:

$nano~/.bashrc

Kur nano yra teksto redaktorius. Čia nano yra komanda (vykdomoji programa), kurios argumentas yra ~/.bashrc. Failo turinys turėtų būti atidarytas teksto redaktoriuje, kad būtų uždengtas terminalo langas.

~/.Bashrc failas bus atidarytas teksto rengyklėje, tikriausiai juodame fone. Žymeklis mirksės viršutiniame kairiajame kampe.

Nuolat spauskite klaviatūros rodyklę žemyn, kol žymeklis pasieks failo pabaigą. Pridėti naują eilutę,

$eksportas PATH=/namai/Džonas/dir1/dir2:$ PATH

Tai dar ne viskas. Failo ~/.bashrc pakeitimas nebuvo išsaugotas. Norėdami išsaugoti failą su atliktu pakeitimu, paspauskite „Ctrl“+o ir vykdykite kitas rodomas instrukcijas. Norėdami išeiti iš teksto rengyklės, paspauskite Ctrl+x, o įprastas terminalo langas turėtų pakeisti teksto rengyklės langą. Tada gali būti išduotos kitos apvalkalo komandos.

Jei išduodamas echo $ PATH, naujas katalogas nebus rodomas ekrane. Tęsti galima dviem būdais: iš naujo paleiskite kompiuterį arba įveskite naują failo ~/.bashrc turinį naudodami šaltinio komandą. Naudoti šaltinio komandą paprasta:

$šaltinis~/.bashrc

Jei šaltinio komanda išduodama neperkraunant, tada echo $ PATH parodys naują katalogą, pridėtą rezultate (ekrane). Tada dominančią komandą galima įvesti be ankstesnio kelio.

Pastaba: Nepainiokite tarp PATH reikšmės (sąrašo) pabaigos ir failo ~/.bashrc pabaigos. Taip pat nepainiokite atmintyje esančio katalogo PATH ir vykdomojo failo, esančio standžiojo disko kataloge.

Išvada

„PATH“ yra įmontuotas kintamasis „Linux“ apvalkaluose. PATH reikšmė yra katalogų, atskirtų dvitaškiais, sąrašas. Kiekvieno iš šių katalogų kietajame diske yra komanda (vykdomasis failas). Jei pardavimo metu komanda išduodama nepateikiant kelio, apvalkalas ieškos komandos šiuose kataloguose. Jei ji nemato komandos nė viename kataloge, komanda nebus vykdoma. Tokiu atveju, norint įvykdyti komandą, prieš komandą reikia nurodyti jos kelią. Komanda gali būti daugiau nei viename PATH reikšmės kataloge. Kai tik apvalkalas pamato pirmąjį katalogą, kuriame yra komanda, jis vykdo komandą. PATH reikšmė iš tikrųjų yra eilutė, susidedanti iš katalogų, atskirtų dvitaškiais.

Problema yra tai, kaip į PATH pridėti naujos programos vykdomosios programos katalogą. Kai kuriais atvejais tai automatiškai padaro naujos programos diegimo programa. Kitais atvejais tai turi būti padaryta rankiniu būdu. Yra du būdai, kaip tai padaryti rankiniu būdu, vadinami: laikinas papildymas ir nuolatinis papildymas. Laikinas papildymas naudoja komandą eksportuoti ir tiesiog prideda katalogą, kai kompiuteris įjungtas. Nuolatinis papildymas turi išsaugoti eksportavimo komandų eilutę į ~/.bashrc inicializacijos failą (Bash) būsimoms operacijoms.