Gå til indholdet

Environment variabler

Environment variabler er systemindstillinger, der definerer vigtige oplysninger om miljøet, hvor en applikation kører. Disse variabler kan indeholde data som applikationsstier, brugeroplysninger, konfigurationsindstillinger eller adgangsnøgler. De bruges ofte til at skille følsom information fra kildekoden og gøre det nemmere at konfigurere applikationer på tværs af miljøer (udvikling, test, produktion osv.).

Brug af environment variabler kan hjælpe med at gøre applikationer mere fleksible og sikre, da følsomme oplysninger som API-nøgler eller databasenavne ikke behøver at være hardkodet i applikationen.

Opret environment variabler

For at sætte environment variabler kan man enten bruge operativsystemets brugergrænseflade eller kommandolinjen.

Windows

  1. Brug af Systemindstillinger:

  2. Højreklik på “Denne PC” eller “Computer” og vælg “Egenskaber”.

  3. Klik på “Avancerede systemindstillinger” og derefter “Miljøvariabler”.
  4. Her kan du tilføje, redigere eller slette både bruger- og systemvariabler. Tilføj en ny variabel med navnet “MyVariable” og værdien, du ønsker.

  5. Brug af powershell:

Du kan også sætte en environment variabel fra PowerShell (som administrator) ved hjælp af setx:

setx MyVariable "MyValue" /M

macOS

  1. Brug af Terminalen (midlertidigt):
  2. Du kan sætte en environment variabel i terminalen ved at bruge export kommandoen:
export MyVariable=MyValue

Denne variabel vil kun eksistere i den aktuelle terminalsession.

  1. Permanent ændring via .bash_profile eller .zshrc:
  2. For at gøre variablen permanent kan du tilføje den til din shell konfigurationsfil (afhængig af hvilken shell du bruger, fx ~/.bash_profile eller ~/.zshrc):
export MyVariable=MyValue

Gem filen, og kør derefter source ~/.bash_profile eller source ~/.zshrc for at indlæse ændringerne.

Her er den tilrettede tekst:

Environment variabler i C

I C# kan man bruge Environment-klassen til at hente og bruge environment variabler i applikationen. Det er muligt at hente variabler enten fra brugerniveau eller fra systemniveau (machine). Her er et eksempel på, hvordan man kan læse en environment variabel fra begge niveauer:

string value = Environment.GetEnvironmentVariable("MyVariable", EnvironmentVariableTarget.User);

if (value == null)
{
    value = Environment.GetEnvironmentVariable("MyVariable", EnvironmentVariableTarget.Machine);
}

if (value != null)
{
    Console.WriteLine($"Værdien af MyVariable er: {value}");
}
else
{
    Console.WriteLine("MyVariable er ikke sat.");
}

Dette program forsøger først at hente værdien af en environment variabel med navnet MyVariable for den aktuelle bruger. Hvis variablen ikke findes på brugerniveau, forsøger det at hente værdien fra systemniveau. Hvis variablen findes, udskrives dens værdi; hvis ikke, udskrives en besked om, at variablen ikke er sat.

Opsummering

Brug af environment variabler i C# applikationer er en enkel og sikker måde at styre applikationsindstillinger på tværs af forskellige miljøer. På Windows og macOS kan environment variabler sættes midlertidigt eller permanent via kommandolinjen eller systemindstillingerne, og i C# kan de nemt tilgås via Environment-klassen.