Környezeti változók

dinamikus érték, amely befolyásolja a számítógépen lévő folyamatok viselkedését From Wikipedia, the free encyclopedia

Remove ads

A környezeti változók (angolul environment variables) a számítógép működésére nézve fontos információkat tartalmazó szöveges (sztring) szimbólumok, amelyeket az operációs rendszer tárol (A környezeti változók nem tévesztendőek össze a programok belső változóival). A környezeti változók mindig a programokon kívül léteznek, de a programok számára elérhetőek: a programok „közelében”, környezetében fordulnak elő. Környezeti változó például a PATH, a PROMPT, a TEMP, stb. A környezeti változók értékeit a programok lekérdezhetik és felhasználhatják működésükhöz.

Remove ads

Jelentősége

A környezeti változók legfontosabb alkalmazási területe a rendszer indítása során a felhasználó számára kényelmes, egyedi környezet automatikus beállítása Például a rendszerdátum, készenléti jel, időzóna, használt nyelv és kódlapok, stb., stb. beállítása. A környezeti változók egyéb alkalmazásokban főként akkor válnak jelentőssé, amikor

  • adato(ka)t kell átadni olyan programok részére, amelyek a kérdéses adato(ka)t parancssori paraméterként nem tudják átvenni;
  • az operációs rendszer egyes szolgáltatásait kell elérni (például rendszeridő, könyvtárak, fájlok elérési útjai) jelentősebb programozói erőforrás igénybevétele nélkül;
  • programok közötti néhány szavas adattovábbításra van szükség és az átadandó adatok fájlba írására nincs lehetőség.[1]

Számos program úgy van megszerkesztve, hogy működése függ egyes környezeti változók értékeitől. Ezért a programok indulás előtt ellenőrizhetik bizonyos környezeti változók meglétét. Például a legtöbb szöveg- és dokumentumszerkesztő program hoz létre átmeneti munkafájlokat (ideiglenes fájlokat) adtatok tárolására, amelyeket kilépéskor automatikusan töröl. Az átmeneti fájlok helye rendszerint a TEMP környezeti változó által meghatározott könyvtár. Számos program egyedi környezeti változót használ működésének befolyásolására.[2][3] Példa:

REM a halom (heap) memóriaméretét állítja be egy LISP interpreter számára
SET LISPHEAP=39000

Néhány program pedig indítási kísérlet után hibaüzenettel leáll, ha az általa keresett speciális környezeti változót nem találja meg, vagy a megtalált környezeti változó a program számára hibás adatokat tartalmaz.

Remove ads

Története

A környezeti változók mai formáját 1979-ben a Unix 7-es verzióban vezették be és benne van a Unix operációs rendszerekben, beleértve a Linuxot és OS X-et is, majd átvette a PC DOS 2.0-1982-ben. Később a Microsoft összes operációs rendszere is használatba vette a környezeti változókat, bár némileg eltérő a használat szintaxisa (a környezeti változókra való hivatkozás és a kiértékelés módja) továbbá eltérés van egyes változók neveiben is. Néhány környezeti változó csak az adott operációs rendszerben található meg, mint például a %PWD% vagy a %WINDIR%

Remove ads

Alapok

Minden Unix/Linux operációs rendszer, a DOS és a Microsoft Windows összes verziója használ környezeti változókat, de nem mindegyik ugyanazokat. Néhány környezeti változó:[4]

  • PWD - az aktuális könyvtár neve;
  • HOME – azt a könyvtárat jelöli, amelybe egy cd utasítás hatására ugrik;
  • PATH – azon könyvtárak listája ahol a parancsértelmező a kiadott parancsokat keresi;
  • MAIL – a leveleket tartalmazó fájl neve;
  • TERM – a terminál típusa;
  • SHELL – a bináris shell állomány elérési útvonala;
  • LOGNAME – az a név amelyen a felhasználót a rendszer nyilvántartja.

Környezeti változó lekérdezése

A rendszerben lévő környezeti változók lekérdezése függ a használt operációs rendszertől. A paraméter nélkül, önmagában kiadott SET parancs minden operációs rendszeren kiíratja az összes használt környezeti változó nevét és azok értékeit is[5] Amennyiben csak egyetlen környezeti változó értékére van szükség, akkor a lekérdezni kívánt környezeti változó pontos nevét kell megadni az adott operációs rendszer szabályai szerint. Egy példa a TEMP környezeti változó értékének lekérdezésére különböző operációs rendszerekben:

a) Unix/Linux esetén

echo $TEMP

b) MS-DOS, OS/2 és Windows rendszerekben

ECHO %TEMP%

Windows PowerShell használata esetén pedig:

Write-Output $TEMP

Létrehozás, értékadás

Környezeti változókat általában a rendszerindító és konfigurációs állományok (például az AUTOEXEC.BAT fájl) hoznak létre. A számítógép kezelőjének kétféle lehetősége van környezeti változó létrehozására:

Környezeti változó létrehozása a SET paranccsal történik. Egy környezeti változó értékadáskor automatikusan jön létre:

@ECHO OFF
REM környezeti változó létrehozása értékadással
SET vackor="vadkörte"

Módosítás

Az értékadás egyik esete a módosítás, melynek során a környezeti változó értéke

  • törlődhet és ezután felvesz az új értéket (kicserélődik), vagy
  • kiegészül a meglévő érték megtartása mellett (például a PATH) környezeti változó.
@ECHO OFF
REM a PATH környezeti változó kiegészítése új könyvtár elérési útjával
SET PATH=%PATH%;c:\DOS

Nem minden környezeti változó módosítható. A felhasználó által létrehozott környezeti változókon kívül a rendszerben mindig meglévő környezeti változók lehetnek

  • konstans vagy
  • dinamikus

környezeti változók.

A konstans környezeti változók nem módosíthatóak. Ilyen például a processzor típusát visszaadó környezeti változó.

A dinamikus környezeti változók értékeit általában a rendszer automatikusan frissíti, de esetenként (megfelelő szabályok betartásával) módosíthatóak. Dinamikus környezetváltozók közé tartoznak például az aktuális dátumot, időt vagy az aktuális könyvtár nevét tároló környezeti változók.

Dokumentálatlan környezeti változók

A legtöbb rendszer tartalmaz nem publikált, nem dokumentált környezeti változókat. Például a Windows az alábbi nem dokumentált – csak olvasható – környezeti változókat használja:

További információk Változó neve, Jelentése ...

Microsoft Windows környezeti változói

A következő táblázat a Windows operációs rendszer környezeti változóinak leírását tartalmazza:

További információk Változó neve, Jelentése ...
Remove ads

Programozási nyelvek és a környezeti változók

Nemcsak az operációs rendszer, hanem számos fejlesztői rendszer és programozási nyelv is hozzáférést biztosít a környezeti változókhoz. Például a legtöbb C nyelvű fordító stdlib könyvtára tartalmazza a char *getenv(const char *name) és a int putenv(char *newvalue) függvényeket, melyek a környezeti változók kezelésére szolgálnak.[6]

Operációs rendszerektől függő sajátosságok

  • Unix/Linux rendszerek esetén egy processz örökli a környezeti változók másolatát és csak a környezeti változók másolatához férhet hozzá.
  • DOS operációs rendszerek esetén a környezeti változók számára fenntartott memória nagysága korlátozva lehet.
  • Windows alatt a PATH környezeti változó törlése a rendszer összeomlásával járhat, mert nem találja meg a rendszerfájlokat sem.

Jegyzetek

Kapcsolódó szócikkek

Források

További információk

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads