Sådan tilføjes et bibliotek til PATH i Linux

How Add Directory Path Linux



PATH er en foruddefineret variabel i en Linux -shell. Den består af mapper med deres bibliotekstier, der starter fra roden. PATH er en kolon-adskilt liste. Hver mappe med sin sti er adskilt fra den foregående mappe med sin sti med et kolon. Skallen leder efter kommandoer i disse mapper.

Kommandoer er ikke kun diskoperativsystemkommandoer. Stien er en liste over mapper, hvor skallen leder efter operativsystemkommandoer og andre kommandoer. Kommandoer er som korte programfiler. Så kommandoer er eksekverbare filer. Hver applikation installeret på computeren leveres med en eksekverbar fil. For at køre programmet aktiveres den eksekverbare fil først. Disse eksekverbare filer kaldes også kommandoer.







Uden PATH -variablen ville hver kommando blive kommanderet med den absolutte sti, som i,



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



hvor den første / er rodmappen; john er brugerens bibliotek for brugeren, John; dir1 og dir2 er undermapper; og command.exe er navnet på den eksekverbare fil.





Mange andre navne er mulige for den eksekverbare fil. Faktisk er command.exe symbolsk her. Så hvis biblioteket/home/john/dir1/dir2 (uden filen) er i PATH -variablen, udfører brugeren john kommando.exe ved prompten, [email protected]: ~ $ ved blot at skrive, command.exe, uden den foregående sti. Det er:

[e -mail beskyttet]: ~ $command.exe

og derefter trykke på Enter.

For at se den aktuelle liste over PATH -mapper på computeren skal du skrive:

$smed ud $ STI

og tryk på Enter på terminalen. Resultatet ville være noget i stil med,

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

Spørgsmålet er nu: hvordan føjes et bibliotek (og dets foregående sti) til PATH -variablen? Med nogle installationer tilføjes biblioteket automatisk. Med andre skal det tilføjes manuelt. Denne artikel forklarer de to vigtigste måder, hvorpå biblioteket tilføjes. Mappen tilføjes ikke (inkluderet), som det ville blive gjort til en matrix. De to hovedmåder kaldes midlertidig tilføjelse og permanent tilføjelse. Bash er skallen, der bruges til kodeeksemplerne i denne artikel.

Artikelindhold

Midlertidig tilføjelse

Midlertidig tilføjelse betyder, at tilføjelsen kun finder sted i hukommelsen. Det gemmes ikke til brug, når computeren genstartes.

Bourne Shell indbygget eksportkommando

Enkelt sagt er eksportkommandoen:

$eksport [navn[= værdi]]

I dette tilfælde tildeler den en værdi til en variabel i hukommelsen.

PATH -variablen i hukommelsen kan allerede have en værdi som f.eks.

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

Antag, at biblioteket, der skal tilføjes, er/home/john/dir1/dir2. Hvis kommandoen eksport skrives som,

$eksport STI=/hjem/John/dir1/dir2

derefter/home/john/dir1/dir2 ville erstatte alt det, der allerede er i hukommelsen, som værdi for PATH -variablen.

Hvis kommandoen eksport skrives som,

$eksport STI=$ STI:/hjem/John/dir1/dir2

Derefter ville/home/john/dir1/dir2 vedhæfte sig selv i slutningen af ​​det, der allerede er i variablen. Så den nye variabel ville være:

STI =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/ hjem/john/dir1/dir2

Bemærk, at i den foregående kodelinje ovenfor er den del af værdien, der allerede er der, adskilt fra den nye del med et kolon, som er ‘:’. $ PATH i kodelinjen, udvides (erstattes) med værdien af ​​PATH, der allerede er i hukommelsen.

Nu kan den samme kommando være i mere end én mappe. Når en eksekverbar kommando skrives uden den foregående sti ved prompten, begynder skallen at søge værdien (strengen) for PATH -variablen i hukommelsen, fra venstre mod højre. Så med ovenstående kodelinje ville/home/john/dir1/dir2 endelig ankomme i søgningen. Hvem vil have, at hans bibliotek sidst ankommer? - Ingen. Så en bedre måde at inkludere (tilføje) biblioteket på er som følger:

$eksport STI=/hjem/John/dir1/dir2:$ STI

/home/john/dir1/dir2 er nu i begyndelsen, adskilt fra det næste bibliotek, med et kolon. Så med en prompt på [email protected]: ~ $,

[e -mail beskyttet]: ~ $eksport STI=/hjem/John/dir1/dir2:$ STI

efter at have skrevet og trykket på Enter, ville kommandoen, command.exe i biblioteket, dir2, blive udført med:

[e -mail beskyttet]: ~ $command.exe

Så længe computeren ikke er lukket, fortsætter brugeren med at udføre command.exe uden at skrive den foregående sti.

Når computeren lukkes, slettes alt i tilfældig adgangshukommelse. Den dårlige nyhed er, at computerbrugeren bliver nødt til at gentage denne proces med at tilføje sit bibliotek til PATH -variablen hver gang computeren genstartes. Ingen ønsker at gøre det i dag. Så den permanente tilføjelsesmetode er den anbefalede tilgang. Det vil sige tilføjelsen til PATH skal gemmes (på harddisken).

Permanent tilføjelse

Fra ovenstående diskussion er tanken at gemme den foretagne ændring (på harddisken). Så hvis ændringen gemmes i en fil, der skal læse hver gang computeren starter, ville det være fint. Det vil sige, at hver gang computeren starter, opdateres PATH -variablen i hukommelsen korrekt. Når en computer starter, ved opstart, læser den visse filer. En af de filer, Bash -skallen til Linux læser, er ~/.bashrc. Filnavnet er. bashrc , der begynder med prikken. Det er i brugerens bibliotek.

Bash er bare en skal, sandsynligvis den mest populære skal til Linux, i dag. En anden skal til Linux er Zsh. Med Zsh er den tilsvarende fil ~/. zshrc , stadig i brugerens bibliotek. Når skallen starter, ved opstart, læser den denne fil. For Bash er filen ~/.bashrc. Så hvis ovenstående tilføjelseskode er indtastet i ~/.bashrc -filen, vil biblioteket altid være i hukommelsen, da ~/.bashrc altid vil inkludere det i PATH, hver gang computeren starter. Det forbliver i hukommelsen, indtil computeren lukkes ned.

I Bash er ~/.bashrc en skjult fil, så den almindelige brug af kommandoen ls vil ikke vise den. ~/.bashrc indeholder nogle Bash (shell) kommandoer. Ubuntu er en variant af Linux. Ubuntu leveres med en tekstredigerer. På forfatterens computer er baggrunden for Ubuntu -teksteditoren sort.

Ovenstående tilføjelseskommando (uden prompt) skal inkluderes i ~/.bashrc -filen. Det er godt at tilføje det i slutningen af ​​filen for ikke at dæmpe med det tilgængelige indhold, det fungerer sandsynligvis i orden.

For at åbne ~/.bashrc i Ubuntu skal du skrive følgende ved kommandoprompten på terminalen og trykke på Enter:

$nano~/.bashrc

Hvor nano er teksteditoren. Her er nano en kommando (eksekverbar), hvis argument er ~/.bashrc. Filens indhold skal åbne i teksteditoren for at overlejre terminalvinduet.

~/.Bashrc -filen åbnes i teksteditoren, sandsynligvis med en sort baggrund. Markøren blinker i øverste venstre hjørne.

Tryk på pil ned på tastaturet kontinuerligt, indtil markøren når slutningen af ​​filen. Tilføj en ny linje med,

$eksport STI=/hjem/John/dir1/dir2:$ STI

Det er ikke alt. Ændringen af ​​~/.bashrc -filen er ikke gemt. Hvis du vil gemme filen med den foretagne ændring, skal du trykke på Ctrl+o og følge alle andre instruktioner, der vises. For at afslutte teksteditoren skal du trykke på Ctrl+x, og det normale terminalvindue skal erstatte teksteditorvinduet. Andre shell -kommandoer kan derefter udstedes.

Hvis ekko $ PATH udsendes, vil det nye bibliotek ikke blive vist i displayet. Der er to måder at fortsætte herfra: enten genstart computeren, eller hent det nye indhold i ~/.bashrc -filen i hukommelsen med kildekommandoen. Det er enkelt at bruge kildekommandoen som følger:

$kilde~/.bashrc

Hvis kildekommandoen udstedes uden genstart, viser ekko $ PATH det nye bibliotek, der er tilføjet i resultatet (display). Kommandoen af ​​interesse kan derefter skrives uden den foregående sti.

Bemærk: Bland ikke mellem slutningen af ​​PATH -værdien (listen) og slutningen af ​​~/.bashrc -filen. Du må heller ikke forveksle mellem et bibliotek i PATH i hukommelsen og en eksekverbar fil i biblioteket på harddisken.

Konklusion

PATH er en indbygget variabel i Linux-skaller. Værdien af ​​PATH er en liste over biblioteker adskilt af kolon. Der er en kommando (eksekverbar fil) på harddisken for hvert af disse biblioteker. Hvis der udstedes en kommando ved salg uden at gå forud for den med en sti, vil skallen undersøge disse mapper for kommandoen. Hvis den ikke kan se kommandoen i nogen af ​​mapperne, bliver kommandoen ikke udført. I dette tilfælde, for at udføre kommandoen, skal kommandoen være forud for dens sti. Kommandoen kan være i mere end én mappe i PATH -værdien. Så snart skallen ser den første mappe med kommandoen, udfører den kommandoen. PATH -værdien er faktisk en streng bestående af mapper adskilt af kolon.

Problemet er, hvordan man tilføjer biblioteket til den eksekverbare af et nyt program til PATH. I nogle tilfælde sker dette automatisk ved at installere programmet til den nye applikation. I andre tilfælde skal det gøres manuelt. Der er to måder at gøre det manuelt på, kaldet: Midlertidig tilføjelse og permanent tilføjelse. Midlertidig tilføjelse bruger kommandoen eksport og tilføjer bare biblioteket, mens computeren er tændt. Permanent tilføjelse skal gemme eksportkommandolinjen i ~/.bashrc initialiseringsfilen (Bash) til fremtidige operationer.