Liste over miljøvariabler i Linux/Unix

⚡ Smart opsummering

Miljøvariabler i Linux og Unix er dynamiske navngivne værdier, der former, hvordan programmer og skallen opfører sig, og gemmer indstillinger som din PATH, hjemmemappe, standardeditor, sprog og den shell, der aktuelt er i brug.

  • ???? Hvad de er: Miljøvariabler indeholder dynamiske værdier, der påvirker processer, og som kan oprettes, redigeres og slettes.
  • 🧭 STI: PATH-variablen viser de mapper, som skallen søger i for at finde og køre eksekverbare kommandoer.
  • 🔎 Aflæsningsværdier: Echo-kommandoen viser én variabel, mens env og printenv viser alle miljøvariabler.
  • 🆕 Oprettelse: Tildel en værdi med NAME=value, og brug derefter export til at gøre den tilgængelig for underprocesser.
  • 🗑️ Sletning: Kommandoen `unset` fjerner en variabel og dens værdi fra den aktuelle shell-session.
  • 💾 Udholdenhed: Tilføj eksportlinjer til ~/.bashrc eller /etc/environment for at gemme variabler på tværs af sessioner.
  • 🤖 AI-hjælp: AI-assistenter og GitHub Copilot kan revidere variabler og generere shell-scripts, der bruger dem.

Liste over almindelige miljøvariabler i Linux og Unix

Miljøvariabler er en af ​​de første ting, der er værd at forstå i enhver Linux eller Unix-system, fordi de i al hemmelighed styrer, hvordan dine programmer og din shell opfører sig. Denne vejledning forklarer, hvad de er, de mest almindelige, og hvordan man læser, opretter og sletter dem.

Hvad er et computermiljø?

Computermiljøet er platformen (platform = operativsystem + processor) hvor en bruger kan køre programmer.

Hvad er en variabel?

Inden for datalogi er en variabel et sted, hvor en værdi kan lagres, f.eks. et filnavn, en tekst, et tal eller andre data. Den omtales normalt med sit symbolske navn, som den får ved oprettelsen. Den gemte værdi kan derefter vises, slettes, redigeres og gemmes igen.

Variabler spiller en vigtig rolle i computerprogrammering, fordi de gør det muligt for programmører at skrive fleksible programmer. Fordi de er knyttet til det operativsystem, du arbejder på, er det vigtigt at kende nogle af dem, og hvordan du kan påvirke dem.

Hvad er miljøvariabler?

Miljøvariabler er dynamiske værdier, der påvirker processerne eller programmerne på en computer. De findes i alle operativsystemer, men typerne kan variere. Miljøvariabler kan oprettes, redigeres, gemmes og slettes, og de giver information om systemets adfærd.

Miljøvariabler kan ændre den måde, software og programmer opfører sig på. For eksempel gemmer miljøvariablen $LANG det sprog, som brugeren forstår. Denne værdi læses af et program, så en kinesisk bruger får vist en mandarin-grænseflade, mens en amerikansk bruger får vist en engelsk grænseflade.

Lad os studere nogle almindelige miljøvariabler:

Variabel Beskrivelse
PATH Denne variabel indeholder en kolonsepareret (:)-liste over mapper, hvor dit system søger efter eksekverbare filer. Når du indtaster en kommando i terminalen, søger shell'en efter kommandoen i de mapper, der er angivet i $PATH-variablen. Hvis kommandoen findes, udføres den. Ellers returneres fejlen 'kommando ikke fundet'.
BRUGER Brugernavnet
HJEM Standardsti til brugerens hjemmemappe
EDITOR Sti til det program, der redigerer indholdet af filer
UID Brugerens unikke ID
TERM Standard terminalemulator
SHELL Skal bruges af brugeren

Adgang til variable værdier

For at bestemme værdien af ​​en variabel skal du bruge echo-kommandoen:

echo $VARIABLE

For eksempel viser skærmbilledet nedenfor værdien af ​​PATH-variablen, der vises med echo-kommandoen.

Visning af PATH-variabelværdien med echo-kommandoen

Enhver miljøvariabel kan læses på samme måde. Outputtet nedenfor viser echo, der returnerer værdien af ​​en variabel.

Outputtet fra echo-kommandoen viser en miljøvariabelværdi

Variabler skelner mellem store og små bogstaver, så sørg for at skrive variabelnavnet med det korrekte store og små bogstav; ellers får du muligvis ikke det ønskede resultat. For at vise alle miljøvariabler på én gang skal du bruge kommandoen env, som vist nedenfor.

env-kommandoen viser alle miljøvariabler i terminalen

Indstil nye miljøvariabler

Du kan oprette din egen brugerdefinerede variabel med denne syntaks:

VARIABLE_NAME=variable_value

Husk igen, at variabelnavne er store og små bogstaverfølsomme og normalt skrives med store bogstaver. En variabel, der oprettes på denne måde, er en lokal shell-variabel, som kun den aktuelle shell kan se. For at forfremme den til en miljøvariabel, som underordnede processer også arver, skal du bruge export-kommandoen:

export VARIABLE_NAME=value

Skærmbilledet nedenfor viser en ny variabel, der oprettes og derefter vises med echo.

Oprettelse og visning af en ny brugerdefineret miljøvariabel

Sletning af variabler

Følgende syntaks fjerner en variabel fra systemet:

unset variablename

Dette fjerner variablen og dens værdi fra den aktuelle shell-session, som vist nedenfor.

Fjernelse af en miljøvariabel med unset-kommandoen

Ofte Stillede Spørgsmål

En shell-variabel findes kun i den aktuelle shell og sendes ikke til andre programmer. En miljøvariabel er en shell-variabel, der er blevet eksporteret, så underprocesser, der er startet fra den shell, arver den. Brug export-kommandoen til at forfremme en variabel.

Variabler, der er indstillet i terminalen, forsvinder, når du lukker sessionen. For at beholde dem skal du tilføje eksportlinjen til en opstartsfil: ~/.bashrc eller ~/.profile for en enkelt bruger eller /etc/environment for hver bruger på systemet. Genindlæs filen, eller åbn terminalen igen for at anvende den.

Tilføj den nye mappe til den eksisterende PATH, så du ikke overskriver den: export PATH=$PATH:/din/ny/mappe. Dette tilføjer din mappe til den liste, som skallen søger efter kommandoer. Indsæt den samme linje i ~/.bashrc for at få ændringen til at overleve i nye sessioner.

printenv viser kun miljøvariabler og kan vise én enkelt, f.eks. printenv HOME. Kommandoen env viser også miljøvariabler og kan køre et program med et modificeret miljø. Kommandoen set viser alt, inklusive shellvariabler og funktioner, ikke kun eksporterede.

Dette betyder normalt, at du har overskrevet PATH i stedet for at tilføje til den, så skallen ikke længere kan finde standardkommandoer. Inkluder altid $PATH, når du indstiller den. For at gendanne i den aktuelle session skal du køre export PATH=/usr/local/bin:/usr/bin:/bin og derefter rette din opstartsfil.

Det er praktisk, men risikabelt. Miljøvariabler kan læses fra /proc, nedarves af underprocesser og lækker ofte ind i logfiler eller nedbrudsrapporter. For følsomme hemmeligheder foretrækkes en dedikeret hemmelighedshåndtering eller en krypteret fil med begrænsede tilladelser i stedet for en almindelig variabel.

AI-assistenter kan forklare, hvad en ukendt variabel gør, revidere konfigurationsfiler for manglende eller duplikerede poster og markere hemmeligheder, der utilsigtet eksponeres i variabler. Maskinlæringsværktøjer kan også scanne procesmiljøer på tværs af mange servere for at opdage fejlkonfigurationer, der ville være besværlige at gennemgå manuelt.

Ja. GitHub Copilot kan generere export statements, ~/.bashrc-redigeringer og shell-scripts, der læser variabler som $HOME eller $PATH. Den foreslår syntaksen, mens du skriver, selvom du bør gennemgå al kode, der håndterer legitimationsoplysninger, før du kører den.

Opsummer dette indlæg med: