Kako dodati imenik sistemski poti v Linuxu

V Linuxu spremenljivka okolja PATH shranjuje imena poti, po katerih se iščejo izvršljive datoteke vseh ukazov, vnesenih v ukazno vrstico. Vrednost spremenljivke okolja PATH je niz, ki vsebuje niz poti, od katerih je vsaka razmejena z dvopičjem. Privzeti PATH na tipičnem sistemu lahko na primer izgleda takole:

 / usr / local / bin: / usr / bin: / bin: / usr / local / games: / usr / igre 

Ko v ukazni poziv vnesete ukaz, kot je cat, bo vaša lupina v vsakem od teh imenikov iskala izvršljivo datoteko z imenom cat . Prva, ki jo najde, je tista, ki jo vodi.

Če si želite ogledati trenutno vrednost spremenljivke okolja PATH, lahko uporabite ukaz echo . Kot pri vseh spremenljivkah v ukazni lupini, ko se sklicujete na vrednost, morate pred imenom spremenljivke dati znak za dolar:

 echo $ PATH 

V zgornjem primeru vas trenutna vrednost poti vrne v ukazni poziv.

Nastavitev PATH za trenutno sejo lupine

Vrednost PATH lahko nastavite tako kot katero koli drugo spremenljivko lupine, z obliko NAME = VALUE, kot je ta:

 PATH = / my / first / path: moja / sekunda / pot 

Problem s tem ukazom je, da bo popolnoma prepisal vrednosti, ki ste jih imeli prej, kar verjetno ne želite. Če želite dodati nove vrednosti poleg starih. To lahko dosežete s sklicevanjem na PATH v novi definiciji, kot je ta:

 PATH = $ PATH: / moj / nov / pot 

Z uporabo zgornjega ukaza dodamo novo pot do trenutne vrednosti PATH . Ker se imena poti iščejo po vrstnem redu, verjetno želite dodati novo pot na koncu spremenljivke, kot smo to storili tukaj. Če ste vnesli:

 PATH = / my / new / path: $ PATH 

Vašo novo pot bi iskali pred, ne po, privzetimi sistemskimi potmi.

Uporaba izvoza za prenos spremenljivke okolja PATH v podrejene procese

Ta vrsta definicije PATH bo spremenljivko okolja nastavila za trenutno sejo lupine, vendar novi programi, ki jih boste zagnali, morda ne bodo videli nove poti, ki ste jo dodali. To je zato, ker vam vaša lupina omogoča nadzor okolja z zahtevo, da ročno deklarirate, katere spremenljivke okolja se prenesejo na druge programe in procese. To lahko dosežete z ukazom za izvoz . Če zaženete:

 izvoz PATH 

Vsi postopki, ki jih izvajate, dokler se ne odjavite, bodo uporabili trenutno vrednost PATH .

Če želite, lahko kombinirate ta dva ukaza v eno samo vrstico, zaradi udobja. Samo postavite podpičje med njimi, tako da lupina ve, da so ločeni ukazi:

 PATH = $ PATH: / my / new / path: / my / other / new / path, izvoz PATH 

Nasvet: Če ima katera od vaših imen poti presledke, morate opredelitev spremenljivke priložiti narekovajem, da bo varna:

 PATH = "$ PATH: / vnos / presledki v imenih poti: / naredi / življenje zelo / neprijetno"; izvoz PATH 

Nastavitev spremenljivke PATH za vsako novo sejo lupine

Metode, ki smo jih do sedaj uporabljali, le določa spremenljivko okolja za trenutno sejo lupine; ko se odjavite ali zaprete okno terminala, bodo vaše spremembe pozabljene. Če želite nastaviti PATH na določeno vrednost vsakič, ko se prijavite ali začnete novo sejo lupine, jo morate dodati v svoj skript za zagon bash. Vsakič, ko začnete interaktivno sejo lupine, bash bere naslednje datoteke v vrstnem redu (če obstajajo) in izvede ukaze znotraj njih:

/ etc / profile ~ / .bash_profile ~ / .bash_login

~ / .profile

Prva datoteka, / etc / profile, je privzeti zagonski skript za vsakega uporabnika v sistemu. Ena ali več preostalih treh datotek se nahaja v domačem imeniku vsakega uporabnika. Vsak od teh treh lahko uporabite, vendar je pomembno vedeti, da bodo iskani v tem vrstnem redu.

Te datoteke lahko urejate in ročno spremenite vse vrstice, ki vsebujejo PATH = definicije. Bodite previdni, če to storite, ker so to imeniki, ki se uporabljajo za iskanje pomembnih datotek operacijskega sistema.

Če želite samo dodati pot za svojega trenutnega uporabnika, lahko pustite druge vrstice PATH = nedotaknjene in samo dodate vrstico, kot je ta, na konec datoteke:

 PATH = "$ PATH: / new / path", izvoz PATH 

Če to dodate na konec datoteke .bash_profile v domačem imeniku, začne delovati vsakič, ko uporabnik zažene novo sejo lupine. Če to dodate v / etc / profile, začne veljati za vsakega uporabnika v sistemu. Upoštevajte, da potrebujete skrbniške pravice, če želite urediti / etc / profile, tako da lahko uporabite sudo (ali se prijavite kot root).