Keskkonna muutujad

From ICO wiki
Jump to navigationJump to search

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

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

Kasutatud kirjandus