Liste over miljøvariabler i Linux/Unix

⚡ Smart oppsummering

Miljøvariabler i Linux og Unix er dynamiske navngitte verdier som former hvordan programmer og skallet oppfører seg, og lagrer innstillinger som PATH, hjemmekatalog, standardredigeringsprogram, språk og skallet som er i bruk for øyeblikket.

  • ???? Hva de er: Miljøvariabler inneholder dynamiske verdier som påvirker prosesser og kan opprettes, redigeres og slettes.
  • 🧭 STI: PATH-variabelen viser mappene skallet søker i for å finne og kjøre kjørbare kommandoer.
  • 🔎 Leseverdier: Echo-kommandoen viser én variabel, mens env og printenv lister opp alle miljøvariabler.
  • 🆕 Opprette: Tilordne en verdi med NAME=value, og bruk deretter export for å gjøre den tilgjengelig for underprosesser.
  • 🗑️ Slette: unset-kommandoen fjerner en variabel og dens verdi fra den gjeldende skalløkten.
  • 💾 Standhaftighet: Legg til eksportlinjer i ~/.bashrc eller /etc/environment for å beholde variabler på tvers av økter.
  • 🤖 AI-hjelp: AI-assistenter og GitHub Copilot kan revidere variabler og generere skallskript som bruker dem.

Liste over vanlige miljøvariabler i Linux og Unix

Miljøvariabler er noe av det første som er verdt å forstå i enhver Linux eller Unix-system, fordi de i stillhet kontrollerer hvordan programmene og skallet ditt oppfører seg. Denne veiledningen forklarer hva de er, de vanligste, og hvordan du leser, oppretter og sletter dem.

Hva er et datamiljø?

Datamiljøet er plattformen (plattform = operativsystem + prosessor) der en bruker kan kjøre programmer.

Hva er en variabel?

I informatikk er en variabel et sted for lagring av en verdi, som kan være et filnavn, tekst, tall eller andre data. Den refereres vanligvis til med sitt symbolske navn, som gis til den ved opprettelse. Verdien som lagres kan deretter vises, slettes, redigeres og lagres på nytt.

Variabler spiller en viktig rolle i dataprogrammering fordi de gjør det mulig for programmerere å skrive fleksible programmer. Fordi de er knyttet til operativsystemet du jobber med, er det viktig å kjenne til noen av dem og hvordan du kan påvirke dem.

Hva er miljøvariabler?

Miljøvariabler er dynamiske verdier som påvirker prosessene eller programmene på en datamaskin. De finnes i alle operativsystemer, men typene kan variere. Miljøvariabler kan opprettes, redigeres, lagres og slettes, og de gir informasjon om systemets oppførsel.

Miljøvariabler kan endre måten programvare og programmer oppfører seg på. For eksempel lagrer miljøvariabelen $LANG språket brukeren forstår. Denne verdien leses av et program slik at en kinesisk bruker får vist et mandarin-grensesnitt mens en amerikansk bruker får vist et engelsk grensesnitt.

La oss studere noen vanlige miljøvariabler:

Variabel Tekniske beskrivelser
PATH Denne variabelen inneholder en kolon (:)-separert liste over kataloger der systemet søker etter kjørbare filer. Når du skriver inn en kommando i terminalen, søker skallet etter kommandoen i katalogene som er oppført i $PATH-variabelen. Hvis kommandoen blir funnet, kjøres den. Ellers returneres den med feilen «kommando ikke funnet».
BRUKER Brukernavnet
HJEM Standard bane til brukerens hjemmekatalog
REDAKTØR Sti til programmet som redigerer innholdet i filer
UID Brukerens unike ID
TERM Standard terminalemulator
SHELL Shell som brukes av brukeren

Få tilgang til variabelverdier

For å bestemme verdien til en variabel, bruk echo-kommandoen:

echo $VARIABLE

For eksempel viser skjermbildet nedenfor verdien til PATH-variabelen som vises med echo-kommandoen.

Vise PATH-variabelverdien med echo-kommandoen

Enhver miljøvariabel kan leses på samme måte. Utdataene nedenfor viser echo som returnerer verdien til en variabel.

Utdata fra echo-kommandoen som viser en miljøvariabelverdi

Variabler skiller mellom store og små bokstaver, så sørg for at du skriver variabelnavnet med riktig bokstav; ellers kan det hende du ikke får ønsket resultat. For å liste opp alle miljøvariabler samtidig, bruk env-kommandoen, som vist nedenfor.

env-kommandoen viser alle miljøvariabler i terminalen

Angi nye miljøvariabler

Du kan opprette din egen brukerdefinerte variabel med denne syntaksen:

VARIABLE_NAME=variable_value

Husk igjen at variabelnavn skiller mellom store og små bokstaver og vanligvis skrives med store bokstaver. En variabel som opprettes på denne måten er en lokal skallvariabel som bare det gjeldende skallet kan se. For å forfremme den til en miljøvariabel som også arver barneprosesser, bruk export-kommandoen:

export VARIABLE_NAME=value

Skjermbildet nedenfor viser en ny variabel som opprettes og deretter vises med echo.

Opprette og vise en ny brukerdefinert miljøvariabel

Sletting av variabler

Følgende syntaks fjerner en variabel fra systemet:

unset variablename

Dette fjerner variabelen og dens verdi fra den gjeldende skall-sesjonen, som vist nedenfor.

Fjerne en miljøvariabel med unset-kommandoen

Spørsmål og svar

En skallvariabel finnes bare i gjeldende skall og sendes ikke til andre programmer. En miljøvariabel er en skallvariabel som har blitt eksportert, slik at underprosesser som startes fra det skallet arver den. Bruk eksportkommandoen for å forfremme en variabel.

Variabler som er angitt i terminalen forsvinner når du lukker økten. For å beholde dem, legg til eksportlinjen i en oppstartsfil: ~/.bashrc eller ~/.profile for én bruker, eller /etc/environment for hver bruker på systemet. Last inn filen på nytt eller åpne terminalen på nytt for å bruke den.

Legg til den nye katalogen i den eksisterende PATH-mappen slik at du ikke overskriver den: export PATH=$PATH:/din/ny/mappe. Dette legger til mappen din i listen som skallet søker etter kommandoer. Sett inn den samme linjen i ~/.bashrc for at endringen skal overleve nye økter.

printenv lister bare opp miljøvariabler og kan vise én enkelt, for eksempel printenv HOME. Env-kommandoen lister også opp miljøvariabler og kan kjøre et program med et modifisert miljø. set-kommandoen viser alt, inkludert skallvariabler og funksjoner, ikke bare eksporterte.

Dette betyr vanligvis at du har overskrevet PATH i stedet for å legge til noe i den, slik at skallet ikke lenger kan finne standardkommandoer. Inkluder alltid $PATH når du setter den. For å gjenopprette i gjeldende økt, kjør export PATH=/usr/local/bin:/usr/bin:/bin, og fiks deretter oppstartsfilen.

Det er praktisk, men risikabelt. Miljøvariabler kan leses fra /proc, arves av underprosesser og lekker ofte inn i logger eller krasjrapporter. For sensitive hemmeligheter, foretrekk en dedikert hemmelighetsbehandler eller en kryptert fil med begrensede tillatelser i stedet for en vanlig variabel.

AI-assistenter kan forklare hva en ukjent variabel gjør, revidere konfigurasjonsfiler for manglende eller dupliserte oppføringer og flagge hemmeligheter som utilsiktet eksponeres i variabler. Maskinlæringsverktøy kan også skanne prosessmiljøer på tvers av mange servere for å oppdage feilkonfigurasjoner som ville være kjedelige å gjennomgå manuelt.

Ja. GitHub Copilot kan generere eksportsetninger, ~/.bashrc-redigeringer og skallskript som leser variabler som $HOME eller $PATH. Den foreslår syntaksen mens du skriver, men du bør gjennomgå all kode som håndterer påloggingsinformasjon før du kjører den.

Oppsummer dette innlegget med: