Keskkonna muutujad: Difference between revisions
No edit summary |
|||
Line 46: | Line 46: | ||
=Keskkonnamuutujad Linuxis= | =Keskkonnamuutujad Linuxis= | ||
Linuxis on kõige mõistlikum keskkonnamuutujaid hallata käsurealt. Olenevalt kestprogrammist võib siin olla mõningaid süntaksierinevusi, vaatleme siinkohal enamlevinud | Linuxis on kõige mõistlikum keskkonnamuutujaid hallata käsurealt. Olenevalt kestprogrammist võib siin olla mõningaid süntaksierinevusi, vaatleme siinkohal enamlevinud Bashi kasutamist. | ||
Kõik määratletud keskkonnamuutujad, mis käesolevas sessioonis kehtivad, on vaadatavad käsuga <code>printenv</code>. Üksiku huvipakkuva keskkonnamuutuja väärtust saab välja kutsuda: <code>echo $HOME</code>. Kuna Linuxi maailm on Windowsi omast tõstutundlikum, tuleb siin silmas pidada, et <code>echo $HOME</code>, <code>echo $home</code> ja <code>echo $HomE</code> tähendavad erinevaid asju. | |||
Uue keskkonnamuutuja loomist alustatakse sessionimuutuja loomisega. | |||
<pre>minuMuutuja=minuV22rtus</pre> | |||
Et sellest saaks keskkonnamuutuja, tuleb kasutada <code>export</code> käsku. | |||
<pre>export minuMuutuja</pre> | |||
Selle peale ilmub <code>minuMuutuja</code> keskkonnamuutujana <code>printenv</code> päringu väljundisse. Tuleb aga mõista, et antud keskkonnamuutuja toimib <b>ainult käesoleva Bashi protsessi poolt algatatud protsesside raames ja temas endas</b>, st uut terminaliakent avades ja sinna <code>printenv</code> sisestades väljundisse <code>minuMuutuja</code> ei teki. | |||
=Autor= | =Autor= |
Revision as of 14:29, 2 November 2017
Sissejuhatus
Keskkonnamuutujaid kasutatakse nii Unix-laadsetes kui ka Windows-operatsioonisüsteemides teatud protsessidele või süsteemile vajalike väärtuste hoidmiseks. Nagu nimigi ütleb, on tegu muutujatega, st nende väärtusi saab kohandada vastavalt vajadusele. Eristatakse kaht tüüpi keskkonnamuutujaid - kasutajapõhiseid ja süsteemiüleseid.[1] Kasutajapõhine on näiteks Linuxis $HOME
, mis viitab kasutaja kodukataloogile ja on igal kasutajal erinev. Süsteemiülene on näiteks $PATH
, mis viitab asukohtadele, kust otsitakse programmifaile, mis on hõlpsasti käivitatavad ilma kataloogile viitamata. [2]
Keskkonnamuutujad Windowsis
Keskkonnamuutujad Windowsis tunneb ära neid ümbritsevast tähistusest %-märkidega, nt %windir%
. Siin kehtib Windowsi-maailma omadus, et muutujad pole tõstutundlikud, st %windir%
, %WINDIR%
ja %wiNdiR%
viitavad kõik ühtmoodi kataloogile, kuhu on paigaldatud jooksev operatsioonisüsteem. Kui nt avada Start-menüü, trükkida sinna %windir%
ja vajutada Enterit, avanebki vastav kataloog Windows Exploreri aknana.
Graafilise liidese abil saab Windowsis vaadata ja muuta määratud keskkonnamuutujaid, minnes "System (Superkey+Pause/Break) -> Advanced system settings -> Advanced -> Environment Variables".
Haldamine cmd.exe käsurealt
cmd.exe
abil saab keskkonnamuutujaid hallata järgnevalt:
set minuMuutuja=esimeneVäärtus
omastab muutujale 'minuMuutuja' kirjeldatud väärtuse. Kui tahta sellele lisada veel teist väärtust, nt tekitada loetelu teekondadest, saab kasutada süntaksit set minuMuutuja=teineVäärtus;%minuMuutuja%
. Muutujale omistatud väärtusi saab välja kuvada käsuga echo %minuMuutuja%
.
Sel viisil määratletud keskkonnamuutujad pole püsivad, st nad kestavad kuni käesoleva Command Prompti sulgemiseni ja sealtsamast käivitatud protsessidele. Kui tahta muutujaid seadistada käsurealt püsivateks, tuleb kasutada setx
käsku, mille süntaks on setx minuMuutuja "väärtus"
, mis on mõnevõrra erinev eelnevast. [3] NB! Sel viisil püsivateks seatud muutujad on kasutajapõhised, mitte süsteemiülesed!
Haldamine PowerShelli käsurealt [4]
PowerShellis annab ülevaate kõikidest kehtivatest keskkonnamuutujatest käsk Get-ChildItem Env:
.
Sessioonipõhiste keskkonnamuutujate loomiseks (sama efekt cmd.exe set
'iga): $env:minuMuutuja = "Siin on väärtus"
.
Püsivate kasutajapõhiste keskkonnamuutujate loomiseks: [Environment]::SetEnvironmentVariable("minuMuutuja", "Siin on väärtus", "User")
.
Püsivate süsteemiüleste keskkonnamuutujate loomiseks: [Environment]::SetEnvironmentVariable("minuMuutuja", "Siin on väärtus", "Machine")
.
Keskkonnamuutujate eemaldamiseks saab kasutada süntaksit Remove-Item Env:\minuMuutuja
.
Levinumad keskkonnamuutujad Windowsis [5]
- %TEMP%, %TMP% – ajutised failid
- %PATH% – otsiteekond
- %USERNAME% – kasutajanimi
- %WINDIR% – süsteemi paigalduskataloog
- %APPDATA% – rakenduste sätete kaust
- %COMPUTERNAME% – masina nimi
- %SYSTEMDRIVE% – süsteemiketas
- %SYSTEMROOT% – süsteemi juurkataloog
- %HOMEDRIVE% – ketas, kus asub kodukataloog
- %HOMEPATH% – kodukataloog
- %PROGRAMDATA% – kõikide kasutajate rakenduste andmed
- %PROGRAMFILES% – rakenduste paigaldused
Keskkonnamuutujad Linuxis
Linuxis on kõige mõistlikum keskkonnamuutujaid hallata käsurealt. Olenevalt kestprogrammist võib siin olla mõningaid süntaksierinevusi, vaatleme siinkohal enamlevinud Bashi kasutamist.
Kõik määratletud keskkonnamuutujad, mis käesolevas sessioonis kehtivad, on vaadatavad käsuga printenv
. Üksiku huvipakkuva keskkonnamuutuja väärtust saab välja kutsuda: echo $HOME
. Kuna Linuxi maailm on Windowsi omast tõstutundlikum, tuleb siin silmas pidada, et echo $HOME
, echo $home
ja echo $HomE
tähendavad erinevaid asju.
Uue keskkonnamuutuja loomist alustatakse sessionimuutuja loomisega.
minuMuutuja=minuV22rtus
Et sellest saaks keskkonnamuutuja, tuleb kasutada export
käsku.
export minuMuutuja
Selle peale ilmub minuMuutuja
keskkonnamuutujana printenv
päringu väljundisse. Tuleb aga mõista, et antud keskkonnamuutuja toimib ainult käesoleva Bashi protsessi poolt algatatud protsesside raames ja temas endas, st uut terminaliakent avades ja sinna printenv
sisestades väljundisse minuMuutuja
ei teki.
Autor
Rudolf Purge, AK21
nov 2017
Kasutatud kirjandus
- ↑ What are Environment Variables? (01.11.2017)
- ↑ Kasutajakeskkond ja protsessid (8. slaid) (01.11.2017)
- ↑ What are PATH and other environment variables, and how can I set or use them? (01.11.2017)
- ↑ Windows PowerShell Tip of the Week (02.11.2017)
- ↑ Kasutajakeskkond ja protsessid (8. slaid) (01.11.2017)