Gdje postaviti varijable okruženja na Macu
U naredbenom retku, varijable okoline su definirane za trenutnu ljusku i nasljeđuju ih bilo koja pokrenuta naredba ili proces. Oni mogu odrediti bilo što, od zadane ljuske, PATH-a, korisničkog matičnog direktorija, do tipa emulacije terminala, trenutnog radnog direktorija, gdje se nalazi datoteka povijesti, postavki jezika i lokalizacije, i idući dalje do uključivanja varijabli ljuske, koje uključuju sve od prilagodbi do bash odzivnika, obojenog ls izlaza i promjena izgleda terminala, aliasa i još mnogo toga.
Prođimo kroz kako ispisati varijable okoline i ljuske, a zatim kako postaviti i dodati nove varijable okoline u naredbenom retku Mac OS X-a. Ovo ćemo pokriti i za bash i za zsh ljuske.
Prikaz trenutnog okruženja i varijabli ljuske u bashu na Mac OS X
Za brzo dobivanje popisa varijabli okruženja, možete koristiti sljedeću naredbu s bashom:
printenv
Za popis varijabli okruženja u zsh-u koristite sljedeću naredbu: env
Ili izborno:
echo $ENV_VAR
Ako želite vidjeti potpuni popis varijabli ljuske, može se izdati i naredba 'set':
set
Izlaz ovih naredbi može biti dugačak pa biste mogli htjeti procijediti izlaz kroz naredbe manje ili više.
Postavljanje varijabli okruženja u macOS Command Line sa zsh
Ljuska zsh postavlja varijable okruženja putem datoteke zshenv, koja se nalazi u početnom direktoriju korisnika na:
~/.zshenv
Dakle, možete dodati zsh varijable okoline modificirajući tu datoteku s nano, vim, itd., ili koristeći echo na sljedeći način:
echo 'export ENV_VAR=example' >> ~/.zshenv
Na primjer:
echo 'JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshenv
Postavljanje varijabli okoline u Mac OS X naredbenom retku s bashom
Budući da Mac prema zadanim postavkama koristi bash shell, možete postaviti varijable okruženja u korisničke direktorije .bash_profile, za aktivni korisnički račun put do te datoteke nalazi se na:
~/.bash_profile
Ako ste promijenili ljusku ili niste sigurni koju ljusku koristite, uvijek možete provjeriti izdavanjem naredbe echo $SHELL, koja će prikazati koja se ljuska koristi. Pretpostavit ćemo da još uvijek koristite OS X zadanu bash ljusku, stoga ćemo dodati nove varijable okruženja modificiranjem .bash_profile s nano – možete koristiti vi, emacs ili neki drugi uređivač teksta ako želite, ali mi ćemo pokriti nano zbog njegove jednostavnosti.
Započnite otvaranjem .bash_profile unutar uređivača nano teksta:
nano .bash_profile
Možete dodati varijable okoline i varijable ljuske u nove retke, ako već postoje podaci unutar datoteke .bash_profile, samo dodajte nove varijable u novi prazan red pomoću tipki sa strelicama i povratni ključ prema potrebi.
Uzmimo primjer i recimo da ćemo postaviti JAVA_HOME i JRE_HOME varijable okoline unutar .bash_profile dodavanjem sljedećeg u nove retke datoteke:
export JAVA_HOME=$(/usr/libexec/java_home) export JRE_HOME=$(/usr/libexec/java_home)
Pod pretpostavkom da smo sada završili, spremite promjene napravljene na .bash_profile pritiskom na Control+o (to je o kao u otter), zatim izađite iz nanoa pritiskom na Control+X
Promjene i dodaci varijabli okoline zahtijevat će ponovno pokretanje ljuske ili stvaranje nove ljuske.
Postavljanje privremenih varijabli okruženja u OS X
Vrijedi spomenuti da također možete postaviti privremene varijable okoline u bash koristeći samu naredbu 'export', iako će one postojati samo dok je trenutna bash ljuska aktivna. Na primjer, ako želite dodati privremeni put u ~/bin/, možete koristiti sljedeću naredbu:
export PATH=$PATH:~/bin
Opet, naredba 'export' koja se pokreće sama i nije sadržana unutar .bash_profile bit će samo privremena postavka i varijabla okoline neće postojati osim ako je ne dodate u .bash_profile.
Ako zapravo želite dodati novi PATH za korištenje, gotovo sigurno biste ga trebali dodati u .bash_profile postavljanjem odgovarajuće naredbe za izvoz u datoteku.
Idemo dalje od bash ljuske, ako ste promijenili zadanu ljusku svoje terminalske aplikacije s basha na tcsh, zsh, sh, ksh, fish ili bilo koju drugu alternativnu ljusku, jednostavno ćete trebati za izmjenu odgovarajućeg profila ili rc datoteke za tu specifičnu ljusku (.tschrc, .cshrc, .profile, itd.).