Com afegir un directori a PATH a Linux

How Add Directory Path Linux



PATH és una variable predefinida en un intèrpret d'ordres de Linux. Consisteix en directoris amb els seus camins d'accés, començant des de l'arrel. PATH és una llista separada per dos punts. Cada directori amb el seu camí està separat del directori anterior amb el seu camí per dos punts. El shell busca ordres en aquests directoris.

Els ordres no són només ordres del sistema operatiu de disc. El camí és una llista de directoris en què l'intèrpret d'ordres busca comandes del sistema operatiu i altres ordres. Els ordres són com fitxers de programa curts. Per tant, les ordres són executables. Cada aplicació instal·lada a l'ordinador inclou un fitxer executable. Per executar l’aplicació, primer s’activa el fitxer executable. Aquests fitxers executables també s’anomenen ordres.







Sense la variable PATH, cada ordre s'ordenaria amb la ruta absoluta, com a,



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



on el primer / és el directori arrel; john és el directori d'usuari de l'usuari, John; dir1 i dir2 són subdirectoris; i command.exe és el nom del fitxer executable.





Molts altres noms són possibles per al fitxer executable. De fet, command.exe és aquí simbòlic. Per tant, si el directori, / home / john / dir1 / dir2 (sense el fitxer), es troba a la variable PATH, l'usuari john executarà command.exe a la sol·licitud, [email protected]: ~ $ simplement escrivint, command.exe, sense la ruta anterior. Això és:

[correu electrònic protegit]: ~ $command.exe

i després premeu Retorn.

Per veure la llista actual de directoris PATH a l'ordinador, escriviu:

$trobo $ PATH

i premeu Retorn, al terminal. El resultat seria una cosa així,

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

La pregunta ara és: com s’afegeix un directori (i el seu camí anterior) a la variable PATH? Amb algunes instal·lacions, el directori s’afegeix automàticament. Amb d’altres, s’ha d’afegir manualment. En aquest article s’expliquen les dues maneres principals en què s’afegeix el directori. El directori no s'afegeix (s'inclou), ja que es faria a una matriu. Les dues formes principals s’anomenen addició temporal i addició permanent. Bash és l'intèrpret d'ordres utilitzat per als exemples de codi d'aquest article.

Contingut de l'article

Addició temporal

L’addició temporal significa que l’addició només té lloc a la memòria. No es desa per utilitzar-lo quan es reinicia l'ordinador.

L'ordre d'exportació incorporat Bourne Shell

En termes senzills, l'ordre d'exportació és:

$exportació [nom[= valor]]

En aquest cas, reassigna un valor a una variable de la memòria.

La variable PATH a la memòria ja pot tenir un valor com,

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

Suposem que el directori que cal afegir és / home / john / dir1 / dir2. Si l'ordre d'exportació s'escriu com a,

$exportació CAMÍ=/a casa/john/dir1/dir2

llavors / home / john / dir1 / dir2 substituiria tot el que ja hi ha a la memòria com a valor de la variable PATH.

Si l'ordre d'exportació s'escriu com a,

$exportació CAMÍ=$ PATH:/a casa/john/dir1/dir2

Llavors, / home / john / dir1 / dir2 s'adjuntaria al final del que ja hi ha a la variable. Per tant, la nova variable seria:

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

Fixeu-vos que a la línia de codi anterior anterior, la part del valor que ja hi ha està separada de la part nova amb dos punts, que és ':'. $ PATH a la línia de codi, s'expandeix (es reemplaça) pel valor de PATH ja a la memòria.

Ara, la mateixa ordre pot estar en més d’un directori. Quan s'escriu una ordre executable sense la ruta anterior a la sol·licitud, l'intèrpret d'ordres comença a buscar el valor (cadena) de la variable PATH a la memòria, d'esquerra a dreta. Així, amb la línia de codi anterior, / home / john / dir1 / dir2 arribaria per fi a la cerca. Qui vol que arribi el darrer directori? - Ningú. Per tant, una manera millor d’incloure (afegir) el directori és la següent:

$exportació CAMÍ=/a casa/john/dir1/dir2:$ PATH

/ home / john / dir1 / dir2 ara està al principi, separat del directori següent, amb dos punts. Per tant, amb un missatge de [email protected]: ~ $,

[correu electrònic protegit]: ~ $exportació CAMÍ=/a casa/john/dir1/dir2:$ PATH

després d'escriure i prémer Retorn, l'ordre command.exe al directori dir2 s'executaria amb:

[correu electrònic protegit]: ~ $command.exe

Mentre l’ordinador no estigui apagat, l’usuari continuarà executant command.exe sense escriure el camí anterior.

Quan l’ordinador està apagat, s’esborra tot el contingut de la memòria amb accés aleatori. La mala notícia és que l'usuari de l'ordinador haurà de repetir aquest procés d'afegir el seu directori a la variable PATH cada vegada que es reiniciï l'ordinador. Ningú vol fer-ho avui. Per tant, l’enfocament de l’addició permanent és l’enfocament recomanat. És a dir, l’addició a PATH s’ha de desar (al disc dur).

Addició permanent

A partir de la discussió anterior, la idea és desar el canvi realitzat (al disc dur). Per tant, si el canvi es desa en un fitxer que el shell llegeix cada cop que arrenca l'ordinador, estaria bé. És a dir, cada vegada que arrenca l’ordinador, la variable PATH de la memòria s’actualitzarà adequadament. Quan s’inicia un ordinador, en arrencar, llegeix determinats fitxers. Un dels fitxers que llegeix l'intèrpret d'ordres de Bash per a Linux és, ~ / .bashrc. El nom del fitxer és. bashrc , començant pel punt. Es troba al directori de l’usuari.

Bash és només un intèrpret d’ordres, probablement l’intèrpret d’ordres més popular de Linux. Un altre intèrpret d’ordres per a Linux és Zsh. Amb Zsh, el fitxer corresponent és ~ /. zshrc , encara al directori de l'usuari. Quan s'inicia l'intèrpret d'ordres, en arrencar, llegeix aquest fitxer. Per a Bash, el fitxer és, ~ / .bashrc. Per tant, si el codi d’addició anterior s’escriu al fitxer ~ / .bashrc, el directori sempre quedarà a la memòria, ja que ~ / .bashrc sempre l’inclourà a PATH, cada vegada que arrenci l’ordinador. Es manté a la memòria fins que l’ordinador s’apaga.

A Bash, ~ / .bashrc és un fitxer ocult, de manera que l'ús ordinari de l'ordre, ls no el mostrarà. ~ / .bashrc conté algunes ordres de Bash (shell). Ubuntu és una variant de Linux. Ubuntu ve amb un editor de text. A l’ordinador de l’autor, el fons de l’editor de text de l’Ubuntu és negre.

L'ordre d'addició anterior (sense la sol·licitud) s'hauria d'incloure al fitxer ~ / .bashrc. És bo afegir-lo al final del fitxer per no moderar-lo amb el contingut disponible, que probablement funcioni bé.

Per obrir ~ / .bashrc a Ubuntu, escriviu el següent a l'indicador d'ordres del terminal i premeu Retorn:

$nano~/.bashrc

On nano és l’editor de text. Aquí, nano és una ordre (executable), l'argument de la qual és ~ / .bashrc. El contingut del fitxer s'hauria d'obrir a l'editor de text per superposar la finestra del terminal.

El fitxer ~ / .bashrc s'obrirà a l'editor de text, probablement amb un fons negre. El cursor parpellejarà a l'extrem superior esquerre.

Premeu la tecla de fletxa cap avall del teclat contínuament fins que el cursor arribi al final del fitxer. Afegiu una nova línia de,

$exportació CAMÍ=/a casa/john/dir1/dir2:$ PATH

Això no és tot. El canvi al fitxer ~ / .bashrc no s'ha desat. Per desar el fitxer amb el canvi realitzat, premeu Ctrl + o i seguiu qualsevol altra instrucció que aparegui. Per sortir de l'editor de text, premeu Ctrl + x i la finestra normal del terminal hauria de substituir la finestra de l'editor de text. Aleshores es poden emetre altres ordres de l'intèrpret d'ordres.

Si s'emet l'eco $ PATH, el nou directori no es veurà a la pantalla. Hi ha dues maneres de continuar des d’aquí: reinicieu l’ordinador o obteniu el contingut nou del fitxer ~ / .bashrc a la memòria amb l’ordre source. És senzill utilitzar l'ordre source, de la següent manera:

$font~/.bashrc

Si l'ordre font s'emet sense reiniciar-se, echo $ PATH mostrarà el nou directori afegit al resultat (visualització). El comandament d'interès es pot escriure sense el camí anterior.

Nota: No confongueu entre el final del valor PATH (llista) i el final del fitxer ~ / .bashrc. Tampoc no confongueu entre un directori de PATH a la memòria i un fitxer executable al directori del disc dur.

Conclusió

PATH és una variable integrada a les shell de Linux. El valor de PATH és una llista de directoris separats per dos punts. Hi ha una ordre (fitxer executable) al disc dur per a cadascun d’aquests directoris. Si s'emet una ordre a la venda sense precedir-la amb un camí d'accés, l'intèrpret d'ordres buscarà l'ordre en aquests directoris. Si no veu l'ordre en cap dels directoris, l'ordre no s'executarà. En aquest cas, per executar l'ordre, l'ordre ha d'anar precedida del seu camí d'accés. L'ordre pot estar a més d'un directori del valor PATH. Tan bon punt l'intèrpret d'ordres veu que el primer directori té l'ordre, executa l'ordre. El valor PATH és en realitat una cadena que consisteix en directoris separats per dos punts.

El problema és com afegir el directori de l’executable d’una nova aplicació a PATH. En alguns casos, això es fa automàticament mitjançant el programa d’instal·lació de la nova aplicació. En altres casos, s’ha de fer manualment. Hi ha dues maneres de fer-ho manualment, anomenades: addició temporal i addició permanent. L'addició temporal utilitza l'ordre d'exportació i només afegeix el directori mentre l'ordinador està engegat. L'addició permanent ha de desar la línia d'ordres d'exportació al fitxer d'inicialització ~ / .bashrc (Bash) per a futures operacions.