Cum se adaugă directorul în calea sistemului în Linux

În Linux, variabila de mediu PATH stochează numele căilor care vor fi căutate pentru fișierele executabile ale oricărei comenzi tastate în linia de comandă. Valoarea variabilei de mediu PATH este un șir care conține o serie de nume de cale, fiecare delimitată de un colon. De exemplu, setarea implicită PATH pe un sistem tipic poate arăta astfel:

 / / Local / bin usr: / usr / bin: / bin: / usr / local / jocuri: / usr / jocuri 

Când tastați o comandă ca pisica la promptul de comandă, shell-ul dvs. va arăta în fiecare dintre aceste directoare pentru un fișier executabil numit cat . Primul pe care îl găsește este cel pe care îl conduce.

Pentru a vizualiza valoarea curentă a variabilei de mediu PATH, puteți folosi comanda ecou . Ca în cazul tuturor variabilelor din coajă, atunci când se face referire la valoarea pe care trebuie să o introduceți înainte de numele variabilei:

 echo $ PATH 

În exemplul de mai sus, valoarea curentă a căii vă întoarce la linia de comandă.

Setarea PATH pentru sesiunea dvs. shell curentă

Puteți seta valoarea PATH ca și orice altă variabilă shell, cu formularul NAME = VALUE, astfel:

 PATH = / mea / prima / cale: meu / secundă / cale 

Problema cu această comandă este că va suprascrie complet valorile pe care le-ați avut înainte, pe care, probabil, nu le doriți. Dacă doriți să adăugați o valoare nouă în plus față de cele vechi. Puteți realiza acest lucru prin referire la PATH în noua definiție, după cum urmează:

 PATH = $ PATH: / mea / noi / cale 

Folosind comanda de mai sus, se adaugă noua dvs. cale la valoarea curentă PATH . Deoarece numele de căi sunt căutate în ordine, probabil că doriți să adăugați calea nouă la sfârșitul variabilei, așa cum am făcut aici. În schimb, dacă ați tastat:

 PATH = / mea / noi / cale: $ PATH 

Noua dvs. cale va fi căutată înainte, nu după, căile de sistem implicite.

Utilizarea exportului pentru a transmite variabila de mediu PATH proceselor copilului

Acest tip de definiție PATH va stabili variabila de mediu pentru sesiunea de shell curentă, dar este posibil ca toate programele noi pe care le executați să nu vadă noua cale pe care ați adăugat-o. Acest lucru se datorează faptului că shell-ul dvs. vă permite să controlați mediul solicitându-vă să declarați manual ce variabile de mediu sunt transmise altor programe și procese. Puteți realiza acest lucru cu comanda de export . Dacă executați:

 export PATH 

Orice procese pe care le executați până când vă deconectați va folosi valoarea curentă a PATH .

Dacă preferați, puteți combina aceste două comenzi într-o singură linie, pentru confort. Doar puneți un punct și virgulă între ele, astfel încât shell-ul să știe că sunt comenzi separate:

 PATH = $ PATH: / my / new / calea: / my / other / new / path; export PATH 

Sfat: Dacă oricare dintre numele dvs. de cale are spații în ele, trebuie să includeți definiția variabilă în ghilimele, doar pentru a fi sigură:

 PATH = "$ PATH: / punerea / spațiile în nume de cale: / face / viață foarte / incomod"; 

Setarea variabilei PATH pentru fiecare sesiune shell shell

Metodele pe care le-am utilizat până acum stabilesc doar variabila de mediu pentru sesiunea de shell curentă; când vă deconectați sau închideți fereastra terminalului, modificările dvs. vor fi uitate. Dacă doriți să setați PATH la o anumită valoare de fiecare dată când vă conectați sau începeți o nouă sesiune de shell, trebuie să o adăugați la scriptul de pornire bash. De fiecare dată când porniți o sesiune de shell interactiv, bash citește următoarele fișiere în ordine (dacă există) și execută comenzile din interiorul lor:

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

~ / .Profile

Primul fișier, / etc / profile, este scriptul de pornire implicit pentru fiecare utilizator din sistem. Unul sau mai multe dintre cele trei fișiere rămase sunt localizate în directorul de acasă al fiecărui utilizator. Oricare dintre aceste trei pot fi folosite, dar este important să știți că vor fi căutate în această ordine.

Puteți edita aceste fișiere și schimba manual toate liniile care conțin PATH = definiții. Doar fiți atenți dacă faceți acest lucru, deoarece acestea sunt directoarele utilizate pentru a găsi fișiere importante ale sistemului de operare.

Dacă tot ce doriți să faceți este să adăugați o cale pentru utilizatorul dvs. curent, puteți lăsa celelalte PATH = linii neatinsă și doar adăugați o linie ca aceasta la sfârșitul fișierului:

 PATH = "$ PATH: / new / path"; export PATH 

Dacă adăugați acest lucru la sfârșitul fișierului .bash_profile în directorul dvs. de acasă, acesta se aplică de fiecare dată când utilizatorul dvs. pornește o nouă sesiune de shell. Dacă adăugați acest lucru în / etc / profile, acesta va avea efect pentru fiecare utilizator din sistem. Rețineți că aveți nevoie de privilegii de administrator dacă doriți să editați / etc / profile, astfel încât să puteți folosi sudo (sau să fiți logat ca root) pentru a face acest lucru.