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 käsurealt ja Powershellis
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%
.
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