Legg til katalog til banen i Linux

Add Directory Path Linux



Hver gang du kjører en kommando på en Linux -terminal, kommanderer du i utgangspunktet skallet for å kjøre et kjørbart program som har det gitte navnet. Utførbare programmer, inkludert enkle programmer som ls, mkdir, touch og find, ligger på spesielle kataloger i filsystemet. I Linux inkluderer kataloger som rommer slike kjørbare programmer:

/usr/sbin
/er/usr/lokal/er
/usr/lokal/er
/er
/usr/er
/snap/er
/sbin
/usr/spill
/usr/lokal/spill

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







Så spørsmålet spør: Hvordan vet Linux -skallet hvor de skal lete etter programmene? Det starter ikke søket fra den nåværende katalogen eller hvor som helst tilfeldig i filsystemet. Skallet er avhengig av $ STI variabel.



Hva er $ PATH -variabelen?

$ STI er en miljøvariabel som forteller skallet hvor den kjørbare filen skal finnes. Det er forskjellige kataloger definert i $ STI variabel. For å vise kataloger i din $ STI , kjør kommandoen:



$kastet ut $ STI





For å finne katalogen der en kommando som er kjørbar er plassert, bruker du hvilken kommandoen som følger

$hvilken kommando

For eksempel for å finne ut hvor den kjørbare filen for pwd kommando, kjør kommandoen:



$hvilken pwd

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

Slik legger du til en katalog til $ PATH

Anta at du har et enkelt skallskript kalt hilsener .sh som skrives ut Hei Verden plassert i / home/james/files katalog. Som standard er katalogen ennå ikke definert i $ STI variabel. For å kjøre skriptet fra et hvilket som helst sted eller en katalog, må du spesifisere den absolutte banen til skriptet. Nå kan dette være tungvint og tidkrevende.

For å kjøre skriptet globalt (uavhengig av hvor du befinner deg i filsystemet) uten å spesifisere hele banen til skriptet, må du legge til katalogen som inneholder skriptet til $ STI variabel ved å bruke syntaksen nedenfor.

$eksport STI=$ STI:/sti/til/katalog/med/fil

I dette tilfellet vil kommandoen være:

$eksport STI=$ STI:/hjem/james/filer

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

Slik legger du til katalogen permanent i $ PATH -variabelen

Banen som vi nettopp har definert til $ PATH er bare midlertidig og vedvarer ikke når du lukker terminalen eller starter systemet på nytt. Det fungerer bare i gjeldende skalløkt. Hvis du avslutter og starter en annen økt, vil du støte på feilen som vist.

Hvis du vil vedvare endringene, definerer du $ PATH -variabelen i ~ .bashrc konfigurasjonsfil. For å oppnå dette, åpne konfigurasjonsfilen.

$sudo jeg kom~/.bashrc

Legg deretter til linjen som vist.

$eksport STI=$ STI:/hjem/james/filer

Etter det, lagre og avslutt. For å laste de nye endringene, påkaller du kommandoen kilde som følger:

$kilde~/.bashrc

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

$kastet ut $ STI

Innpakning

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