Slik legger du til katalog i systembanen i Linux

I Linux lagrer PATH- miljøvariabelen navnene på stier som skal søges etter de kjørbare filene til kommandoer som er skrevet på kommandolinjen. Verdien av PATH-miljøvariabelen er en streng som inneholder en rekke stinavn, hver avgrenset av et kolon. For eksempel kan standard PATH på et typisk system se slik ut:

 / Usr / local / bin: / usr / bin: / bin: / usr / local / spill: / usr / spill 

Når du skriver inn en kommando som katt på ledeteksten, vil skallet ditt se i hver av disse katalogene for en kjørbar fil med navnet katt . Den første finner den som den kjører.

For å vise den nåværende verdien av PATH-miljøvariabelen din, kan du bruke ekkokommandoen . Som med alle variabler i skallet, når du refererer til verdien du trenger å sette et dollarskilt før variabelnavnet:

 ekko $ PATH 

I eksempelet ovenfor returnerer gjeldende verdi av banen deg til kommandoprompten.

Angir PATH for din nåværende shell-økt

Du kan angi verdien av PATH som du ville ha en annen skalvariabel, med skjemaet NAME = VALUE, slik:

 PATH = / min / første / bane: min / andre / sti 

Problemet med denne kommandoen er at det vil fullstendig overskrive de verdiene du hadde før, som du sannsynligvis ikke vil ha. Hvis du vil legge til en ny verdi i tillegg til de gamle. Du kan oppnå dette ved å referere til PATH i den nye definisjonen, slik som dette:

 PATH = $ PATH: / min / new / sti 

Ved å bruke kommandoen ovenfor legges den nye banen til gjeldende verdi av PATH . Siden banenavnene er søkt i rekkefølge, vil du sannsynligvis legge til den nye banen i slutten av variabelen som vi har gjort her. I stedet, hvis du skrev:

 PATH = / min / new / bane: $ PATH 

Din nye bane ville bli søkt før, ikke etter, standard systembaner.

Bruk eksport til å passere PATH miljøvariabelen til barnprosesser

Denne typen PATH- definisjonen angir miljøvariabelen for din nåværende shell-økt, men eventuelle nye programmer du kjører, kan ikke se den nye banen du har lagt til. Det er fordi skallet ditt lar deg kontrollere miljøet ved å kreve at du manuelt erklære hvilke miljøvariabler som sendes videre til andre programmer og prosesser. Du kan oppnå dette med eksportkommandoen . Hvis du kjører:

 eksporter PATH 

Eventuelle prosesser du kjører til du logger ut, bruker den nåværende verdien av PATH .

Hvis du foretrekker det, kan du kombinere disse to kommandoene i en enkelt linje for enkelhets skyld. Bare legg et semikolon mellom dem slik at skallet vet at de er separate kommandoer:

 PATH = $ PATH: / min / ny / bane: / min / andre / ny / bane; eksport PATH 

Tips: Hvis noen av dine banenavn har mellomrom i dem, bør du vedlegge variabeldefinisjonen i anførselstegn, for å være trygg:

 PATH = "$ PATH: / sette / mellomrom i banenavn: / gjør / livet veldig / ubeleilig"; eksport PATH 

Angir PATH-variabelen for hver ny shell-økt

Metodene vi har brukt hittil, angir bare miljøvariabelen for din nåværende shell-økt; Når du logger ut eller lukker terminalvinduet, blir endringene dine glemt. Hvis du vil angi PATH til en bestemt verdi hver gang du logger på eller starter en ny shell-sesjon, bør du legge den til i bash oppstartskriptet. Hver gang du starter en interaktiv shell-sesjon, leser bash følgende filer i rekkefølge (hvis de eksisterer), og utfører kommandoene inne i dem:

/ etc / profile ~ / .bash_profile ~ / .bash_login

~ / .Profile

Den første filen, / etc / profile, er standard oppstartskript for alle brukere på systemet. Én eller flere av de resterende tre filene er plassert i hjemmekatalogen til hver bruker. Noen av disse tre kan brukes, men det er viktig å vite at de vil bli søkt etter i denne rekkefølgen.

Du kan redigere disse filene og manuelt endre noen linjer som inneholder PATH = definisjoner. Bare vær forsiktig hvis du gjør det, fordi disse er katalogene som brukes til å finne viktige operativsystemfiler.

Hvis alt du vil gjøre er å legge til en sti for din nåværende bruker, kan du legge igjen de andre PATH = linjene uberørte, og bare legge til en linje som dette til slutten av filen:

 PATH = "$ PATH: / new / path"; eksporter PATH 

Hvis du legger til dette til slutten av .bash_profile- filen i hjemmekatalogen, trer det i kraft hver gang brukeren starter en ny skalingssesjon . Hvis du legger til dette i / etc / profil, tar det effekt for alle brukere på systemet. Merk at du trenger administratorrettigheter hvis du vil redigere / etc / profile, slik at du kan bruke sudo (eller være logget inn som root) for å gjøre det.