wiki:ymparistomuuttujat
Last modified 2 years ago Last modified on 2015-12-27 11:30:43

Ympäristömuuttujat

  • Käyttöjärjestelmissä on tukku asetuksia, joiden tarkoitus on olla yhteisiä kaikille ohjelmille (vrt. jonkin ohjelman options-valinnat). Esim. kaikille ohjelmille on yhteinen Temp-kansio, jonne ohjelmat voivat tallentaa väliaikaisesti tiedostoja. Temp-kansion sijainti määritetään ympäristömuuttujalla.
  • Windows-käyttöjärjestelmässä ympäristömuuttujien arvoja voi muuttaa joko komentoriviltä tai graafisen käyttöliittymän avulla. Lue ohje Kuinka muutat Windowsin Temp-kansion sijaintia
  • Ympäristömuuttujat periytyvät siten. että kun käynnistetään uusi ohjelma (tai shell, komentorivi), niin se saa käynnistävän ohjelman ympäristömuuttujat. Jos käynnistynyt ohjelman muuttaa ympäristömuuttujia, niin muutos vaikuttaa vain siihen ohjelmaan (prosessiin, ympäristöön) jossa muutos tehtiin ja sen alta käynnistettyihin ohjelmiin (prosesseihin).
  • "Ylimpien" ympäristömuuttujien muuttamisen jälkeen pitää yleensä käynnistää uudelleen ne ohjelmat joihin muutosten halutaan vaikuttavan
  • Yksi tärkeimmistä ympäristömuuttujista on PATH, jossa on lueteltu ne kansiot, joista ohjelmia etsitään silloin, kun ohjelman nimi annetaan komentoriviltä.

1. Käyttö Windowsissa

1.1 Ympäristömuuttujien arvojen katsominen

  • anna komentoriviltä
    set
    
    niin näet kaikkien muuttujien arvot
  • tietyn muuttujan arvon katsominen
    echo %MUUTTUJA%
    
    tai jos halutaan löytää joku muuttuja, mutta nimeä ei muisteta tarkkaan
    set | grep OSA_MUUTTUJAN_NIMESTA
    
  • esimerkiksi
    e:\mytemp>echo %USERNAME%
    vesal
    e:\mytemp>set | grep USER
    STDIN
    ALLUSERSPROFILE=C:\ProgramData
    USERDOMAIN=VESAH3
    USERDOMAIN_ROAMINGPROFILE=VESAH3
    USERNAME=vesal
    USERPROFILE=C:\Users\Vesa
    
  • poikkeuksena PATH muuttujan arvon näkee myös kirjoitamalla komentoriviltä
    path
    

1.2 Ympäristömuuttujan asettaminen

  • tilapäisesti voit jonkun muuttujana arvon asettaa komentoriviltä (vaikuttaa siihen komentoikkunaan jossa komento annetaan ja niihin ohjelmiin jotka tästä ikkunasta käynnistetään):
    set MUUTTUJA=ARVO
    
  • esimerkiksi lisätään polkuun uusi hakemisto:
    set PATH=%PATH%;n:\bin
    
  • Windowsissa on kahden tasoisia ympäristömuuttujia
    • käyttäjäkohtaisia (User variables)
    • järjestelmän muuttujia (System variables)
  • aluksi pitää saada auki Control Panel (Ohjauspaneeli). Tähän on kaksi mahdollisuutta
    • Start/Control Panel
    • kirjoitetaan komentoriviltä
      control
      
  • Control Panelista valitaan
    • System (Järjestelmä)
    • Advanced system settings (Järjestelmän lisäasetukset)
    • Advanced (Lisäasetukset)
    • Environment variables (Ympäristömuuttujat)
  • nyt pitäisi näkyä 2 eri joukkoa ympäristömuuttujia. Näistä muutetaan sitä, miten laajalti muutoksen halutaan näkyvän (ja mihin oikeudet riittävät :-)
  • source:esimerkit/kuvat/ymparistomuuttujat.png
  • jos muuttujaa ei vielä ole, voidaan luoda uusi
  • sitten muutetaan muuttujan arvoa (ja tarvittaessa annetaan sille nimi)
  • jos muuttuja on sellainen, että siihen liittyy useita arvoja (kuten esim PATH), niin silloin Windowsissa alkiot on eroteltu toistaan puolipistella (;) ja kun muokkaat arvoa, ole tarkkana että lisäät olemassa olevien loppuun ensin puolipisteen ja jatkat sen perään oman arvosi.
  • muista korjausten lopuksi painaa OK
  • muista että muutokset vaikuttavat vasta kun seuraavan kerran käynnistät uuden komentoikkunan
  • käyttöjärjestelmän versiosta riippuen voi olla myös komento setx jolla voi asettaa ympärisömuuttujia. Tällä asetettu muutos ei vaikuta nykyiseen ikkunaan, jolloin tätä useimmiten käytetään tyyliin
    set nimi=Vesa
    setx nimi %nimi%
    
    Oletuksena setx asettaa käyttäjien muuttujia, jos haluat asettaa järjestelmätason muuttujia, katso ohjeita setx /?

2. Käyttö Linuxissa (myös Mac)

1.1 Ympäristömuuttujien arvojen katsominen

  • Listaa kaikki lokaalit muuttujat arvoineen
    set
    
  • Listaa kaikki muille prosesseille perittävät muuttujat arvoineen
    env
    
  • Listaa muuttujan MUUTTUJA arvon
    echo $MUUTTUJA
    
  • jos halutaan löytää joku muuttuja, mutta nimeä ei muisteta tarkkaan
    set | grep OSA_MUUTTUJAN_NIMESTA
    
  • esimerkiksi
    [vesal@i ~]$ echo $USER
    vesal
    [vesal@i ~]$ set | grep HIST
    HISTCONTROL=ignoredups
    HISTFILE=/home/vesal/.bash_history
    HISTFILESIZE=1000
    HISTSIZE=1000
    

1.2 Ympäristömuuttujan asettaminen BASH-shellissä

Seuraava ohje pätee jos komentotulkkina on käytössä BASH tai vastaava. Voit tarkistaa asian ympäristömuuttujan SHELL-arvosta.

  • tilapäisesti muuttuja voidaan asettaa
    export MUUTTUJA=ARVO
    
  • pysyvästi asettaminen voidaan tehdä editoimalla (tai luomalla jos ei ole) .bash_profile -tiedostoa, esim:
    nano ~/.bash_profile 
    
  • tiedostoon laitetaan tarvittava määrä noita export-komentoja
  • huomaa, että Linuxissa listojen erottimena on kaksoispiste (:)
  • jos haluat esimerkiksi polkuun (PATH) lisätä jotakin, laita:
    export PATH=$PATH:~/bin
    

3. Ympäristömuuttujien käyttäminen eri kielistä