Lijst met omgevingsvariabelen in Linux/Unix

โšก Slimme samenvatting

Omgevingsvariabelen in Linux en Unix zijn dynamische, benoemde waarden die bepalen hoe programma's en de shell zich gedragen. Ze slaan instellingen op zoals je PATH, thuismap, standaardeditor, taal en de shell die momenteel in gebruik is.

  • ???? Wat zij zijn: Omgevingsvariabelen bevatten dynamische waarden die processen beรฏnvloeden en kunnen worden aangemaakt, bewerkt en verwijderd.
  • ๐Ÿงญ PAD: De variabele PATH bevat een lijst met mappen waarin de shell zoekt naar uitvoerbare commando's.
  • ๐Ÿ”Ž Leeswaarden: Het echo-commando toont รฉรฉn variabele, terwijl env en printenv alle omgevingsvariabelen weergeven.
  • ๐Ÿ†• Creรซren: Wijs een waarde toe met NAME=value en gebruik vervolgens export om deze beschikbaar te maken voor onderliggende processen.
  • ๐Ÿ—‘๏ธ Verwijderen: Met het commando `unset` wordt een variabele en de bijbehorende waarde uit de huidige shellsessie verwijderd.
  • ๐Ÿ’พ Persistentie: Voeg exportregels toe aan ~/.bashrc of /etc/environment om variabelen tussen sessies te behouden.
  • ๐Ÿค– AI-ondersteuning: AI-assistenten en GitHub Copilot kunnen variabelen controleren en shellscripts genereren die deze variabelen gebruiken.

Lijst met veelgebruikte omgevingsvariabelen in Linux en Unix

Omgevingsvariabelen zijn een van de eerste dingen die je moet begrijpen bij elke Linux of Unix-systeem, omdat ze op de achtergrond bepalen hoe je programma's en shell zich gedragen. Deze handleiding legt uit wat ze zijn, welke de meest voorkomende zijn en hoe je ze kunt lezen, aanmaken en verwijderen.

Wat is een computeromgeving?

De computeromgeving is het platform (platform = besturingssysteem + processor) waarop een gebruiker programma's kan uitvoeren.

Wat is een variabele?

In de informatica is een variabele een locatie voor het opslaan van een waarde, zoals een bestandsnaam, tekst, getal of andere gegevens. Een variabele wordt meestal aangeduid met de symbolische naam die eraan wordt toegekend bij het aanmaken. De opgeslagen waarde kan vervolgens worden weergegeven, verwijderd, bewerkt en opnieuw opgeslagen.

Variabelen spelen een belangrijke rol in computerprogrammering, omdat ze programmeurs in staat stellen flexibele programma's te schrijven. Omdat ze gekoppeld zijn aan het besturingssysteem waarmee je werkt, is het belangrijk om er een aantal te kennen en te weten hoe je ze kunt beรฏnvloeden.

Wat zijn omgevingsvariabelen?

Omgevingsvariabelen zijn dynamische waarden die de processen of programma's op een computer beรฏnvloeden. Ze bestaan โ€‹โ€‹in elk besturingssysteem, maar de typen kunnen variรซren. Omgevingsvariabelen kunnen worden aangemaakt, bewerkt, opgeslagen en verwijderd, en ze geven informatie over het gedrag van het systeem.

Omgevingsvariabelen kunnen de werking van software en programma's beรฏnvloeden. De omgevingsvariabele $LANG slaat bijvoorbeeld de taal op die de gebruiker begrijpt. Deze waarde wordt door een applicatie gelezen, zodat een Chinese gebruiker een interface in het Mandarijn te zien krijgt en een Amerikaanse gebruiker een interface in het Engels.

Laten we enkele veelvoorkomende omgevingsvariabelen bekijken:

Veranderlijk Beschrijving
PATH Deze variabele bevat een door dubbele punten (:) gescheiden lijst van mappen waarin uw systeem naar uitvoerbare bestanden zoekt. Wanneer u een commando in de terminal invoert, zoekt de shell naar het commando in de mappen die in de variabele $PATH zijn opgegeven. Als het commando wordt gevonden, wordt het uitgevoerd. Anders wordt de foutmelding 'command not found' geretourneerd.
GEBRUIKER De gebruikersnaam
HOME Standaardpad naar de thuismap van de gebruiker
EDITOR Pad naar het programma dat de inhoud van bestanden bewerkt
UID Unieke ID van de gebruiker
TERMIJN Standaard terminalemulator
SHELL Shell wordt gebruikt door de gebruiker

Toegang tot variabele waarden

Om de waarde van een variabele te bepalen, gebruik je het echo-commando:

echo $VARIABLE

De onderstaande schermafbeelding toont bijvoorbeeld de waarde van de variabele PATH die wordt weergegeven met het echo-commando.

De waarde van de PATH-variabele weergeven met het echo-commando.

Elke omgevingsvariabele kan op dezelfde manier worden uitgelezen. De onderstaande uitvoer laat zien hoe `echo` de waarde van een variabele teruggeeft.

Uitvoer van het echo-commando met de waarde van een omgevingsvariabele.

Variabelen zijn hoofdlettergevoelig, dus zorg ervoor dat u de variabelenaam in de juiste volgorde typt; anders krijgt u mogelijk niet het gewenste resultaat. Om alle omgevingsvariabelen in รฉรฉn keer weer te geven, gebruikt u de opdracht `env`, zoals hieronder weergegeven.

Het commando `env` geeft een overzicht van alle omgevingsvariabelen in de terminal.

Stel nieuwe omgevingsvariabelen in

Met deze syntax kunt u uw eigen door de gebruiker gedefinieerde variabele aanmaken:

VARIABLE_NAME=variable_value

Onthoud nogmaals dat variabelnamen hoofdlettergevoelig zijn en meestal in hoofdletters worden geschreven. Een variabele die op deze manier wordt aangemaakt, is een lokale shellvariabele die alleen de huidige shell kan zien. Om er een omgevingsvariabele van te maken die ook door onderliggende processen wordt overgenomen, gebruikt u de opdracht `export`.

export VARIABLE_NAME=value

De onderstaande schermafbeelding laat zien hoe een nieuwe variabele wordt aangemaakt en vervolgens met echo wordt weergegeven.

Het aanmaken en weergeven van een nieuwe, door de gebruiker gedefinieerde omgevingsvariabele.

Variabelen verwijderen

Met de volgende syntax wordt een variabele uit het systeem verwijderd:

unset variablename

Hierdoor worden de variabele en de bijbehorende waarde uit de huidige shellsessie verwijderd, zoals hieronder weergegeven.

Een omgevingsvariabele verwijderen met het commando `unset`.

Veelgestelde vragen

Een shellvariabele bestaat alleen in de huidige shell en wordt niet doorgegeven aan andere programma's. Een omgevingsvariabele is een shellvariabele die is geรซxporteerd, zodat childprocessen die vanuit die shell worden gestart, deze variabele overnemen. Gebruik de `export`-opdracht om een โ€‹โ€‹variabele te exporteren.

Variabelen die in de terminal zijn ingesteld, verdwijnen wanneer je de sessie sluit. Om ze te behouden, voeg je de regel `export` toe aan een opstartbestand: `~/.bashrc` of `~/.profile` voor รฉรฉn gebruiker, of `/etc/environment` voor alle gebruikers op het systeem. Herlaad het bestand of heropen de terminal om de wijziging toe te passen.

Voeg de nieuwe map toe aan het bestaande PATH, zodat deze niet wordt overschreven: `export PATH=$PATH:/your/new/directory`. Hiermee wordt uw map toegevoegd aan de lijst waarin de shell naar commando's zoekt. Voeg dezelfde regel toe aan `~/.bashrc` zodat de wijziging ook in nieuwe sessies van kracht blijft.

`printenv` geeft alleen omgevingsvariabelen weer en kan er slechts รฉรฉn tonen, zoals `printenv HOME`. Het `env`-commando geeft ook omgevingsvariabelen weer en kan een programma uitvoeren met een aangepaste omgeving. Het `set`-commando toont alles, inclusief shellvariabelen en -functies, niet alleen de geรซxporteerde.

Dit betekent meestal dat je het PATH-variabele hebt overschreven in plaats van er iets aan toe te voegen, waardoor de shell standaardopdrachten niet meer kan vinden. Voeg altijd $PATH toe wanneer je het instelt. Om dit in de huidige sessie te herstellen, voer je `export PATH=/usr/local/bin:/usr/bin:/bin` uit en corrigeer je vervolgens je opstartbestand.

Het is handig, maar riskant. Omgevingsvariabelen kunnen worden gelezen vanuit /proc, worden overgenomen door child-processen en lekken vaak door naar logbestanden of crashrapporten. Voor gevoelige geheimen kunt u beter een speciale secret manager gebruiken of een versleuteld bestand met beperkte rechten opslaan in plaats van een gewone variabele.

AI-assistenten kunnen uitleggen wat een onbekende variabele doet, configuratiebestanden controleren op ontbrekende of dubbele vermeldingen en geheimen signaleren die per ongeluk in variabelen zijn blootgelegd. Machine learning-tools kunnen ook procesomgevingen op meerdere servers scannen om configuratiefouten op te sporen die handmatig te omslachtig zouden zijn.

Ja. GitHub-copiloot Het programma kan export-instructies genereren, wijzigingen aanbrengen in ~/.bashrc en shellscripts schrijven die variabelen zoals $HOME of $PATH lezen. Het suggereert de syntaxis terwijl je typt, maar je moet alle code die met inloggegevens werkt, controleren voordat je deze uitvoert.

Vat dit bericht samen met: