Android

Hvordan legge til en katalog til banen i Linux

Уроки Linux - Переменная PATH

Уроки Linux - Переменная PATH

Innholdsfortegnelse:

Anonim

Når du skriver en kommando på kommandolinjen, forteller du i utgangspunktet skallet om å kjøre en kjørbar fil med det gitte navnet. I Linux bor disse kjørbare programmene som ls , find , file og andre, i flere forskjellige kataloger på systemet ditt. Alle filer med kjørbare tillatelser som er lagret i disse katalogene, kan kjøres fra et hvilket som helst sted. De vanligste katalogene som har kjørbare programmer er /bin , /sbin , /usr/sbin , /usr/local/bin og /usr/local/sbin .

Men hvordan vet skallet, hvilke kataloger som skal søke etter kjørbare programmer eller søker skallet gjennom hele filsystemet?

Svaret er enkelt. Når du skriver en kommando, søker skallet gjennom alle kataloger som er spesifisert i bruker $PATH variabelen etter en kjørbar fil med det navnet.

Denne artikkelen viser hvordan du legger til kataloger til $PATH i Linux-systemer.

Hva er $PATH i Linux

Miljøvariabelen $PATH er en kolonavgrenset liste over kataloger som forteller skallet hvilke kataloger som skal søke etter kjørbare filer.

For å sjekke hvilke kataloger som er i $PATH , kan du bruke kommandoen printenv eller echo :

echo $PATH

Utgangen vil se slik ut:

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

Legge til en katalog til $PATH

Det er situasjoner der det kan være lurt å legge til andre kataloger $PATH variabelen. Noen programmer kan for eksempel installeres på forskjellige steder, eller det kan være lurt å ha en dedikert katalog for dine personlige skript, men være i stand til å kjøre dem uten å spesifisere den absolutte banen til de kjørbare filene. For å gjøre dette trenger du ganske enkelt å legge til katalogen til $PATH .

La oss si at du har en katalog som heter bin ligger i Hjem-katalogen din, der du oppbevarer skall-skriptene dine. Slik legger du til katalogen til $PATH typen din i:

export PATH="$HOME/bin:$PATH"

Eksportkommandoen vil eksportere den modifiserte variabelen til prosessmiljøer for skallet.

Du kan nå kjøre skriptene dine ganske enkelt ved å skrive inn det kjørbare skriptnavnet uten å måtte spesifisere den kjørbare hele banen.

Imidlertid er denne endringen bare midlertidig og bare gyldig i den nåværende shell-økten.

For å gjøre endringen permanent, må du definere $PATH i shell-konfigurasjonsfilene. I de fleste Linux-distribusjoner når du starter en ny økt, leses miljøvariabler fra følgende filer:

  • Globale skallspesifikke konfigurasjonsfiler som /etc/environment og /etc/profile . Bruk denne filen hvis du vil at den nye katalogen skal legges til alle systembrukere $PATH .

    Spesifikke konfigurasjonsfiler per bruker. Hvis du for eksempel bruker Bash, kan du stille inn $PATH variabelen i ~/.bashrc filen, og hvis du bruker Zsh, er filnavnet ~/.zshrc .

I dette eksemplet setter vi variabelen i ~/.bashrc filen. Åpne filen med teksteditoren din, og legg til følgende linje på slutten av den:

nano ~/.bashrc ~ /.Bashrc

export PATH="$HOME/bin:$PATH"

Lagre filen og last inn den nye $PATH i den gjeldende shell-økten med source :

source ~/.bashrc

For å bekrefte at katalogen ble lagt til, skriv ut verdien til $PATH ved å skrive:

echo $PATH

Konklusjon

Det er ganske enkelt å legge til nye kataloger til brukeren din eller den globale $PATH variabelen. Dette lar deg utføre kommandoer og skript som er lagret på ikke-standardiserte steder uten å måtte skrive den fullstendige banen til den kjørbare.

De samme instruksjonene gjelder for all Linux-distribusjon, inkludert Ubuntu, CentOS, RHEL, Debian og Linux Mint.

Legg gjerne igjen en kommentar hvis du har spørsmål.

terminal