Çevre değişkeni

Çevre değişkenleri, çevresel değişkenler ya da ortam değişkenleri (ing. environment variable), işletim sistemi seviyesinde konfigüre edilebilen ve bilgisayar işlemleri tarafından erişilebilen global değişkenlerdir. Çoğu kez belli programların ve dosyaların konumlarını (ing. path) ve birden fazla işlem tarafından kullanılabilen bilgi ve ayarları tutmak için kullanılırlar. Çoğunlukla bir karakter dizisi (ing. string) olurlar.

Ortam/çevre kelimesi ile kast edilen programın çalıştırma ortamıdır (ing. run-time environment). Böylece aynı işlem farklı çalıştırma ortamlarında ekstra bir konfigürasyona gerek kalmadan çalışabilir, aynı ortamdaki farklı işlemler aynı veriye ortam değişkenleri üzerinden ulaşabilirler.

Örneğin çalışan bir işlem TEMP ortam değişkeninin değerine bakarak geçici dosyalarını saklayabileceği dizin konumunu (path) öğrenebilir. Herhangi bir nedenle bu konum değiştirilmek istendiğinde yazılımlarda bir değişikliğe gerek kalmadan TEMP ortam değişkeni değiştirilir.

Kullanıcılar ve bilgisayar programları bu değişkenlerin değerlerini okuyabilir ve/veya değiştirebilirler.

 Unix ve Unix-tipi işletim sistemleri 

 Komut satırı
Linux ve BSD gibi birçok Unix tipi işletim sisteminde çevre değişkenleri komut satırı yorumlayıcısı (Unix-shell) çalışmaya başladığında okunur ve kullanılır. Daha önceden tanımlanmış olan bu değişkenler Unix kabuğu çalışmaya başladığında bir veya birçok konfigürasyon dosyasından okunur ve buna göre işlemler yapılır. Örneğin Bourne-Shell'de bu değişkenler /etc/profile dizininde tutulur. Ayrıca Shell kullanıcının uyarlayabileceği kullanıcı tarafından belirlenen çevre değişkenlerini kullanıcının  "home" dizininde belli dosyalarda saklar. Daha önce tanımlanmış olan çevre değişkenler printenv gibi bir komutla görülebilir. env komutu/programı ise bir programın değiştirilmiş bir ortamda (başka çevre değişkenleri altında) çalışması sağlanabilir ya da çevre değişkenleri değiştirilebilir. Her iki komut da coreutils'in parçalarıdır.

 Öntanımlı çevre değişkenleri

 PATH− Konumlar (path) listesidir. Tam konum (fullpath) belirtilmeden komut girildiğinde işletim sistemi komutu bu listedeki konumlarda arar.
 PWD  − Kullanıcının bulunduğu mevcut konumu belirtir.
 HOME − Kullanıcının dosya sistemi içindeki ana dizinini (home directory) gösterir.
 TERM − Kullanılan bilgisayar terminalinin türünü ya da terminal emulatörünü tanımlar.
 MAIL − Kullanıcının e-postalarının bulunduğu konumu belirtir.
 EDITOR − Kullanıcının varsayılan metin editörünü belirtir.
 BROWSER − Kullanıcının varsayılan web tarayıcısını belirtir.

 Microsoft 

MS-DOS ve Windows kabuğunda (komut işlemcisi) işlevselliği aynıdır. Windows'ta yeni bazı fonksiyonlar ve Standart değişkenler eklenmiştir.

 Kaydetme 
Çevre değişkenler komut satırından veya .cmd ve .BAT gibi programlar tarafından SET komutlarıyla kaydedilir. (Örneğin  SET PROMPT=$P$G) SET komutu tek başına kullanıldığında ise tüm çevre değişkenleri listelenir. Değişken değerlerini silmek için ise değişken adından sonra sadece = işareti verilir. (Örneğin SET PROMPT=).

 Sorgulama 
Elde edilmek istenen değişken % işaretleri arasında kullanılır. Örneğin APPDATA değişkeninin tuttuğu dizine gitmek için CD %APPDATA% şeklinde bir komut verilir.

 Öntanımlı çevre değişkenleri 

 Variable Windows XP Windows Vista/7 Açıklama %ALLUSERSPROFILE% (%PROGRAMDATA%) C:\Dokumente und Einstellungen\All Users C:\ProgramData %APPDATA% C:\Dokumente und Einstellungen\{username}\Anwendungsdaten C:\Users\{username}\AppData\Roaming %COMPUTERNAME% {computername} %COMMONPROGRAMFILES% C:\Programme\Gemeinsame Dateien C:\Program Files\Common Files %COMMONPROGRAMFILES(x86)% C:\Programme (x86)\Gemeinsame Dateien C:\Program Files (x86)\Common Files %COMSPEC% %SystemRoot%\System32\cmd.exe Komut satırının olduğu dizin %SystemRoot% uyumlu genişlemeDOS'da da geçerli %HOMEDRIVE% C:\ C:\ %HOMEPATH% \Dokumente und Einstellungen\{username} \Users\{username} %LOCALAPPDATA% n/a C:\Users\{username}\AppData\Local %LOGONSERVER% \\{domain_logon_server} %OS% Windows_NT Windows_NT %PATH% %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem Noktalı virgül ile ayrılarak tanımlanmış bir Path varsa, komut aktif dizinden bulunamazsa, sırayla bu dizinlerde aranır ve ilk bulunduğu yerde çalıştırılır.%SystemRoot% uyumlu genişletmeDOS'da da geçerli %PATHEXT% .COM, .EXE, .BAT, .CMD, .VBS, .VBE, .JS, .WSF, .WSH .com, .exe, .bat, .cmd, .vbs, .vbe, .js, .jse, .wsf, .wsh, .msc %PROGRAMFILES% C:\Programme C:\Program Files %PROGRAMFILES(X86)% C:\Programme (x86) C:\Program Files (x86) %PROMPT% $P$G DOS'da da geçerli %SystemDrive% C:\ C:\ %SystemRoot% C:\Windows (Windows 2000 und davor: C:\WINNT) C:\Windows %TEMP% oder %TMP% C:\Windows\TEMP Güvenlik açısından tüm kullanıcıların ulaşabileceği genel bir dizin yerine, kullanıcı bazlı örneğin %HOMEDRIVE%%HOMEPATH%\TEMP gibi bir dizin olması önerilir. %USERDOMAIN% {userdomain} %USERNAME% {username} Aktif kullanıcı adı %USERPROFILE% %SystemDrive%\Dokumente und Einstellungen\{username} C:\Users\{username} %WINDIR% C:\Windows C:\Windows Tarihsel biçim(16-Bit-Windows), uyum sağlamak için tutulmakta. %SystemRoot% ile sürekli aynı olmalı. %PUBLIC% n/a C:\Users\Public %PSModulePath% n/a %SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\

 Notlar 

Kategori:Programlama
Kategori:İşletim sistemleri
Kategori:Değişkenler