/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 kommandoFor 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/filI dette tilfellet vil kommandoen være:
$eksport STI=$ STI:/hjem/james/filerDu 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~/.bashrcLegg 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.