Legg katalogen til banen i Linux

Legg katalogen til banen i Linux
Hver gang du kjører en kommando på en Linux -terminal, befaler du i utgangspunktet skallet til å kjøre et kjørbart program med det gitte navnet. Kjørbare programmer, inkludert enkle programmer som LS, MKDIR, Touch og Find, ligger på spesielle kataloger på filsystemet. I Linux inkluderer kataloger som imøtekommer slike kjørbare programmer:
/usr/sbin
/bin/usr/local/bin
/usr/lokal/bin
/bin
/usr/bin
/snap/bin
/sbin
/usr/spill
/usr/local/games

En fil med kjørbare tillatelser i en av disse katalogene kan utføres fra et hvilket som helst sted innen Linux -terminalen.

Så, spørsmålet stiller, hvordan vet Linux -skallet hvor de skal lete etter programmene? Det starter ikke søket fra gjeldende katalog eller hvor som helst tilfeldig i filsystemet. Skallet er avhengig av $ Bane variabel.

Hva er variabelen på $ banen?

$ Bane er en miljøvariabel som forteller skallet hvor du skal finne den kjørbare filen. Det er forskjellige kataloger definert i $ Bane variabel. Å vise kataloger i din $ Bane, Kjør kommandoen:

$ ekko $ bane

For å lokalisere katalogen der en kommando som kjøres er lokalisert, bruk hvilken kommando som følger

$ hvilken kommando

For eksempel å lokalisere hvor den kjørbare for PWD Kommando, kjør kommandoen:

$ hvilken pwd

Fra utgangen kan vi se at den kjørbare ligger i /bin katalog. For ta på Kommando, den kjørbare ligger i /usr/bin katalog.

Hvordan legge til en katalog til $ bane

Anta at du har et enkelt skallskript som heter hilsener.SH som skriver ut “Hei Verden”Plassert i /Hjem/James/Files katalog. Som standard er katalogen ennå ikke definert i $ Bane variabel. For å kjøre skriptet fra et hvilket som helst sted eller katalog, må du spesifisere den absolutte banen til skriptet. Nå kan dette være tungvint og tidkrevende.

For å kjøre skriptet globalt (uavhengig av din plassering i filsystemet) uten å spesifisere hele banen til skriptet, må du legge til katalogen som inneholder skriptet til $ Bane variabel ved hjelp av syntaksen nedenfor.

$ Eksportbane = $ PATH:/PATH/TO/DIRECTORY/With/FILE

I dette tilfellet vil kommandoen være:

$ Eksportbane = $ PATH:/Hjem/James/Files

Du skal nå være i stand til å ringe eller kjøre skriptet fra en hvilken som helst katalog i Linux -systemet ditt uten å spesifisere den absolutte banen til skriptet som vist.

Hvordan legge til katalogen permanent til $ banen

Stien som vi nettopp har definert til $ bane er bare midlertidig og vedvarer ikke når du lukker terminalen eller start på nytt systemet. Det fungerer bare i den nåværende skalløkten. Hvis du går ut og starter en annen økt, vil du støte på feilen som vist.

For å vedvare endringene, definerer du $ banevariabelen i ~.Bashrc konfigurasjonsfil. For å oppnå dette, åpne konfigurasjonsfilen.

$ sudo vim ~/.Bashrc

Legg deretter til linjen som vist.

$ Eksportbane = ”$ Path:/Home/James/Files”

Etter det, lagre og gå ut. For å laste inn de nye endringene, påkalle kildekommandoen som følger:

$ kilde ~/.Bashrc

For å bekrefte tillegg av katalogen til $ bane, utfør kommandoen som vist.

$ ekko $ bane

Innpakning

Og der har du det, folkens! Vi har klart å legge katalogen til $ banen på Linux med hell. Som du har sett, er det ganske praktisk og greit, spesielt hvis du vil ringe skriptet eller applikasjonen regelmessig fra skallet. De samme kommandoene vil fungere for enhver Linux -smak.