Waar omgevingsvariabelen instellen op Mac
Op de opdrachtregel worden omgevingsvariabelen gedefinieerd voor de huidige shell en worden overgenomen door elk lopend commando of proces. Ze kunnen alles bepalen, van de standaard shell, het PATH, de thuismap van de gebruiker, tot het terminalemulatietype, de huidige werkmap, waar een geschiedenisbestand zich bevindt, taal- en lokalisatie-instellingen, en gaan verder met het opnemen van shell-variabelen, die alles omvatten van aanpassingen tot de bash-prompt, ingekleurde ls-uitvoer en wijzigingen in het uiterlijk van de terminal, tot aliassen en nog veel meer.
Laten we eens kijken hoe we omgevings- en shellvariabelen kunnen weergeven en vervolgens hoe we nieuwe omgevingsvariabelen kunnen instellen en toevoegen via de opdrachtregel van Mac OS X. We behandelen dit voor zowel bash- als zsh-shells.
Huidige omgevings- en shell-variabelen weergeven in bash op Mac OS X
Om snel een lijst met omgevingsvariabelen te krijgen, kun je het volgende commando gebruiken met bash:
printenv
Gebruik de volgende opdracht om omgevingsvariabelen in zsh weer te geven: env
Of optioneel:
echo $ENV_VAR
Als u een volledige lijst met shell-variabelen wilt zien, kunt u ook het 'set'-commando geven:
set
De uitvoer van deze opdrachten kan lang zijn, dus misschien wilt u de uitvoer door de minder of meer opdrachten leiden.
Omgevingsvariabelen instellen in de macOS-opdrachtregel met zsh
De zsh-shell stelt omgevingsvariabelen in via het zshenv-bestand, dat zich bevindt in de thuismap van de gebruiker op:
~/.zshenv
Je kunt dus zsh-omgevingsvariabelen toevoegen door dat bestand aan te passen met nano, vim, etc, of door echo te gebruiken zoals:
echo 'export ENV_VAR=voorbeeld' >> ~/.zshenv
Bijvoorbeeld:
echo 'JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshenv
Omgevingsvariabelen instellen in Mac OS X-opdrachtregel met bash
Omdat de Mac standaard bash-shell gebruikt, kun je omgevingsvariabelen instellen in de gebruikersmappen .bash_profile, voor een actieve gebruikersaccount is het pad naar dat bestand te vinden op:
~/.bash_profile
Als je je shell hebt gewijzigd of je weet niet zeker welke shell je gebruikt, kun je dit altijd controleren door het commando echo $SHELL uit te voeren, dat zal laten zien welke shell in gebruik is. We gaan ervan uit dat je nog steeds de standaard bash-shell van OS X gebruikt, dus we zullen nieuwe omgevingsvariabelen toevoegen door .bash_profile aan te passen met nano - je kunt vi, emacs of een andere teksteditor gebruiken als je dat wilt, maar we behandelen nano vanwege zijn eenvoud.
Begin met het openen van .bash_profile in de nano-teksteditor:
nano .bash_profile
U kunt omgevingsvariabelen en shell-variabelen aan nieuwe regels toevoegen. Als er al gegevens in het .bash_profile-bestand staan, zorg er dan voor dat u nieuwe variabelen toevoegt aan een nieuwe lege regel met behulp van de pijltjestoetsen en de return-toets indien nodig.
Laten we een voorbeeld nemen en zeggen dat we de omgevingsvariabelen JAVA_HOME en JRE_HOME binnen .bash_profile gaan instellen door het volgende toe te voegen aan nieuwe regels van het bestand:
export JAVA_HOME=$(/usr/libexec/java_home) export JRE_HOME=$(/usr/libexec/java_home)
Ervan uitgaande dat we nu klaar zijn, sla de wijzigingen in .bash_profile op door op Control+o te drukken (dat is een o zoals in otter), en verlaat nano vervolgens door op Control+X te drukken
Wijzigingen en toevoegingen aan omgevingsvariabelen vereisen dat de shell opnieuw wordt gestart of dat er een nieuwe shell verschijnt.
Tijdelijke omgevingsvariabelen instellen in OS X
Het is vermeldenswaard dat je ook tijdelijke omgevingsvariabelen in bash kunt instellen door alleen het commando 'exporteren' te gebruiken, hoewel deze alleen blijven bestaan zolang de huidige bash-shell actief blijft. Als u bijvoorbeeld een tijdelijk pad naar ~/bin/ wilt toevoegen, kunt u het volgende commando gebruiken:
export PATH=$PATH:~/bin
Nogmaals, de 'export'-opdracht die op zichzelf wordt uitgevoerd en niet is opgenomen in .bash_profile, is slechts een tijdelijke instelling en de omgevingsvariabele blijft niet behouden tenzij je deze toevoegt aan het .bash_profile.
Als je echt op zoek bent naar een nieuw PATH voor gebruik, moet je dit vrijwel zeker toevoegen aan .bash_profile door het juiste exportcommando in het bestand te plaatsen.
Als je verder gaat dan de bash-shell, als je de standaardshell van de Terminal-app hebt veranderd van bash naar tcsh, zsh, sh, ksh, fish of een van de andere alternatieve shells die er zijn, heb je gewoon nodig om het juiste profiel of rc-bestand voor die specifieke shell te wijzigen (.tschrc, .cshrc, .profile, enz.).