Keskkonna muutujad
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
.
Siin on nimekiri levinumatest keskkonnamuutujatest:
[[1]]
[[2]]
HISTFILE--käsk näitab millisesse file on salvestatud ajalugu
echo $HISTFILE
näide: /root/.bash_history
HISTFILESIZE--näitab kui palju ridu on ajaloo file-s
echo $HISTFILESIZE
näide: 2000
HOSTNAME--käsk näitab süsteemi kasutaja nime
echo $HOSTNAME
näide:UbuntuServer
PS1--näitab default promti, 1-näitab milist promti kasutad
echo $PS1
näide: \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
USER--näitab sisse loginud kasutaja nime
echo $USER
näide: marek
LOGNAME--Sarnaselt "USER"-ile, mõned programmid eelistavad lugeda seda muutujat, mitte USER-it.
echo $LOGNAME
näide: marek
HOME--Sisseloginud kasutaja kodukataloogi
echo $HOME
näide: /home/marek
COLUMNS--Teksti veergude arv terminaliaknas.
echo $COLUMNS
näide: 80
LINES--Teksti ridade arv konsooliaknas.
echo $LINES
näide: 24
LANG--näitab kasutaja hetkelist (klaviatuuri) keeleseadet
echo $LANG
näide: en_GB.UTF-8
PWD--näitab kataloogi kus programme käivitad
echo $PWD
näide: /home/marek
PATH--Koolonid kataloogide vahel nimekirja kahendfailidest mida otsitakse.
echo $PATH
näide: /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
DISPLAY--Seda tunnust kasutatakse näitamaks graafilist rakendust, kus näidatakse tegelikku graafilist kasutajaliidest, väärtus koosneb 3-st osast: host-nimele järgneb koolon(:),ekraani numbrile järgneb punkt(.)ja ekraanide arv. Host-nime graafiline väljund saadetakse üle võrgu. Selle võib ära jätta, kui X server töötab kohalikus masinas. Ekraan arv võimaldab valida mitu X serverit töötab sama masin (Ubuntu kasutab mitut X serverit, et lubada mitut graafilist töölaua sessiooni). Kuigi ekraani number on kasutusel valitakse füüsiliste ekraanide seast, milline haldab X serverit, see on harva valitud midagi muud kui "0". Käsitsi seadistakse "Display" keskkonnamuutuja väärtust harva, sest see tehakse automaatselt kohandatakse paljude rakendustega nagu "GDM" ja "SSH", kui on vaja
echo $DISPLAY
näide: :0
SHELL-- käsuinterpretaator
echo $SHELL
näide: /bin/bash
TERM--terminal või terminali emulaator, mida praegune kasutaja kasutab
echo $TERM
näide: xterm
OSTYPE--näitab operatsioonisüsteemi tüüpi
echo $OSTYPE
näide: linux-gnu
MACHTYPE--näitab protsessori arhitektuuri, kus süsteem töötab.
echo $MACHTYPE
näide: x86_64-pc-linux-gnu
EDITOR--näitab kasutaja eelistatud tekstiredaktorit.
echo $EDITOR
näide: /usr/bin/nano
MANPATH--kataloogide käsitsi otsimine süsteemist.
echo $MANPATH
näide: /usr/share/man:/usr/local/man
Autor
Marek Lepla A32
31.12.2012