In Computing , ympäristö muuttujat ovat dynaamisia muuttujia käyttävät eri prosessien käyttöjärjestelmä ( Windows , Unix, jne.). Niitä käytetään tiedon välittämiseen ohjelmien välillä, jotka eivät ole samalla hierarkkisella linjalla, ja jotka siksi tarvitsevat sopimuksen kommunikoida valintansa toisilleen.
Puhumme myös CGI ympäristömuuttujat varten HTTP-palvelin .
SET- komento ilman parametreja antaa sinun listata suurimman osan ympäristömuuttujista.
% ERRORLEVEL%,% DATE%,% TIME%,% CD%,% RANDOM% muuttujia ei näytetä SET- komennolla (Huomaa: näiden muuttujien rooli selitetään seuraavissa kappaleissa).
Ympäristömuuttujan muokkaamiseksi sinun on annettava tämä komento komentokehotteeseen :
SET PATH=%PATH%;c:\WINDOWS\System32\wbemOle varovainen, tämä toimii vain nykyisessä prosessissa.
Ympäristömuuttujan muuttaminen pysyvästi:
Ympäristömuuttujan muokkaamiseksi sinun on annettava:
PATH=$PATH:./Ole varovainen, tämä toimii vain nykyisessä prosessissa.
Pysyvästi muuttaa ympäristömuuttujassa, voit lisätä rivin shell alustustiedostoa ( ~ / .bashrc varten Bash , ~ / .zshrc varten Zsh )) määrittää ja viedä muuttuja. Tässä on minimaalinen esimerkki ~ / .bashrc :
# Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions export LANG=fr_CA.UTF8Kuoren aloitusskripti on käyttäjän henkilökohtainen.
Se suoritetaan joka kerta, kun muodostamme yhteyden (joko suoraan tai ssh: llä) ja joka kerta, kun avaat uuden konsolin.
Jotta muuttujan määritys hyödyttää kaikkia käyttäjiä, se voidaan lisätä (edellyttäen, että sinulla on oikeudet) kuoren yleiseen alustustiedostoon ( / etc / profile for Bash).
Osoittaa kaikille käyttäjille yhteisen profiilin hakemiston.
Esimerkkiarvot:
C:\ProgramData ou C:\Documents and Settings\All UsersVaro sekoittamasta oletusprofiiliin:
C:\Documents and Settings\Default User % SOVELLUSTIEDOT%Sisältää kirjautuneen käyttäjän sovellustiedot.
Esimerkkiarvot:
C:\Users\Wikipedia\AppData\Roaming ou C:\Documents and Settings\Wikipedia\Application Data % HOMEPATH%Esimerkkiarvot:
\Users\Wikipedia ou \Documents and Settings\Wikipedia % USERNAME%% USERNAME% sisältää kirjautuneen käyttäjän nimen (esimerkki: Wikipedia).
% KÄYTTÄJÄPROFIILI%% USERPROFILE% osoittaa hakemiston polun, joka sisältää kirjautuneen käyttäjän HKEY_CURRENT_USER- pesän (NTUSER.DAT- ja NTUSER.INI-tiedostot).
SET- komento ei näytä muuttujaa% CD% ; se antaa nykyisen hakemiston pääsypolun.
Sisältää tietokoneen nimen.
Katso istunnonhallinnan asettamat ympäristömuuttujat (smss.exe) .
Muuttujia% DATE% ja% TIME% ei näytetä SET- komennolla ; ne ilmoittavat tietokoneen nykyisen päivämäärän ja kellonajan.
Muuttuja% ERRORLEVEL% ei näy SET- komennolla ; se antaa viimeksi suoritetun komennon virhekoodin (0 tai 1). Tämä vastaa muuttujaa $? Unix.
On välttämätöntä tehdä kehittyneempi kuori Windowsissa (komentotiedostot: laajennus .bat ).
Tässä on kaksi koodiesimerkkiä:
IF ERRORLEVEL 2 GOTO no_such_file IF %ERRORLEVEL% EQU 2 SET CODE_ERREUR=2Katso istunnonhallinnan asettamat ympäristömuuttujat (smss.exe) .
Oletusarvo :
C:Jos käyttäjä on kirjautunut toimialueelle ,% LOGONSERVER% ilmoittaa todennuksessa käytetyn toimialueen ohjaimen nimen, jota edeltää "\\". Esimerkki:
\\controle_domaine % USERDOMAIN% ilmaisee sen työryhmän tai Windows-toimialueen nimen, johon nykyinen käyttäjä kuuluu.Jos käyttäjä on kirjautunut sisään työryhmään,% LOGONSERVER% tarkoittaa samaa kuin% COMPUTERNAME%, jota edeltää "\\". Esimerkki:
\\PC_WikipediaKatso istunnonhallinnan asettamat ympäristömuuttujat (smss.exe) .
Katso istunnonhallinnan asettamat ympäristömuuttujat (smss.exe) .
Katso istunnonhallinnan asettamat ympäristömuuttujat (smss.exe) .
Katso muuttujien % PROCESSOR_ARCHITECTURE%,% PROCESSOR_IDENTIFIER%,% PROCESSOR_LEVEL% ja% PROCESSOR_REVISION% muuttujat , jotka ovat istunnonhallinnan asettamat ympäristömuuttujat (smss.exe) .
Tämä ympäristömuuttuja osoittaa Windowsin asennettujen ohjelmien hakemiston polun (katso Ohjelmatiedostot ).
Sen oletusarvo on:
C:\Program FilesTämän muuttujan arvon määrittää rekisterissä avaimessa oleva ProgramFilesDir- muuttuja HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion.
Tämä ympäristömuuttuja määrittää polun 64-bittiseen Windows-asennettuun x86-ohjelmahakemistoon (katso Ohjelmatiedostot ).
Sen oletusarvo on:
C:\Program Files (x86)Tämän ympäristömuuttujan avulla voit mukauttaa näyttöön tulevan kehotteen ennen komennon syöttämistä.
Sen oletusarvo on:
$P$GSe voi sisältää näyttötekstiä yhdistettynä erityisarvoihin, joiden koodi alkaa dollarimerkillä "$".
Koodattu | Kuvaus |
---|---|
$ P | Nykyinen polku ( P ath ) |
$ N | Vain nykyinen lukija |
G | Ylivoimainen merkki ">" ( G reater ) |
$ L | Alempi merkki "<" ( L ess ) |
$ D | Nykyinen päivämäärä ( D ate ) |
$ T | Nykyinen aika ( T ime ) |
Muuttuja% RANDOM% ei näy SET- komennolla ; se muodostaa useita näennäissatunnainen välillä 0 ja 15 : nnen teho 2 (32768).
Tämä muuttuja osoittaa sen aseman kirjaimen, johon Windows on asennettu.
Sen oletusarvo on:
C:Tämä ympäristömuuttuja ilmaisee järjestelmätiedostojen sijainnin.
Sen määrittää rekisteri: SystemRoot- arvo avaimessa HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion.
OletusarvotOletusarvo on:
Kohdasta % SystemRoot% voidaan asettaa muita ympäristömuuttujia. Kohdista % PATH % , % COMSPEC% , % TEMP% , % TMP% , % WINDIR% , katso istunnonhallinnan luoma ympäristömuuttuja .
% TMP% ja% TEMP%. Väliaikainen tiedostokansio sijaitsee myös seuraavassa hakemistossa ( Windows XP ):
C: \ Documents and Settings \ session_name \ Local Settings \ Temp
Samanlainen kuin% SystemRoot%
Esimerkki:
C:\WindowsUnixin (tai GNU / Linux) alla kuoret käyttävät kahden tyyppisiä muuttujia samalla syntaksilla:
Näitä käytetään paikallisin muuttujina, ja ne on vietävä vientikomennolla ( bash ) tai käytä setenv (csh) -komentoa .
Esimerkki ympäristömuuttujista Unixissa:
Katso CFLAGS
Infopath on ympäristömuuttuja, jota Emacs Text Editor käyttää . Se sisältää luettelon infohakemistoista.
Eri ohjelmat käyttävät $ LANG -muuttujaa määrittääkseen näytettävien viestien kielen. Esimerkiksi :
$ LANG=fr ls fff ls: fff: Aucun fichier ou répertoire de ce type $ LANG=en ls fff ls: fff: No such file or directoryNämä eri käännökset löytyvät .mo- tiedostoista / usr / share / locale -alihakemistoista .
Voi olla mielenkiintoista muokata tätä muuttujaa saadaksesi englanninkielinen virhesanoma (esimerkiksi suorittamalla komento " export LANG=C "), ja sitten tämän virhesanoman etsiminen hakukoneella on mielenkiintoista, että sivuluettelo on suurempi kuin virheviesti ranskaksi ja toivon löytävän tarkemman diagnoosin.
Näytetään vim- tekstieditori$ LANG muuttuja on myös käyttää vim määrittää koodauksen käyttöä. Oletetaan, että .txt- tiedosto sisältää vain "kesä" -rivin, joka on koodattu UTF-8: een . Jos haluat muokata tätä tiedostoa konsolilla vim, sinun on määritettävä "export LANG = fr.UTF8" ja varmistettava, että konsolin koodaus on UTF-8 (Kokoonpano → Koodaus).
Jos konsolikoodaukseksi on asetettu ISO / IEC 8859-1 , vim näyttää "kesä". Jos muuttuja $ LANG ei määritä UTF-8- koodausta , esimerkiksi $ LANG = fr, mutta konsolikoodaus on UTF-8, vim näyttää "kesä", mutta kohdistimen sijainti ei seuraa hyvää. Vaikka konsolissa on kolme merkkiä, VIM laskee viisi (rivin loppuun siirtyminen "$": lla vie kohdistimen liian pitkälle).
Vertailu WindowsiinWindowsissa kieli asetetaan rekisterissä, HKEY_CURRENT_USER, tarkemmin joissakin ControlPanel \ international -aliavaimissa (työkalu sen asettamiseksi on intl.cpl ).
Muuttuja $ LD_LIBRARY_PATH sisältää luettelon hakemistoista, erotettuna seuraavilla:, missä kirjastot sijaitsevat, joita ei ole asennettu oletushakemistoihin (/ usr / lib ja / usr / local / lib ei tarvitse määrittää kohdassa $ LD_LIBRARY_PATH).
Kun suoritetaan dynaamisesti kirjastoon linkitetty sovellus, kirjastoa haetaan ensin oletushakemistoista ja sitten muuttujassa $ LD_LIBRARY_PATH luetelluista hakemistoista ulkoasun järjestyksessä.
Jos kirjastoa ei löydy, suorituksen aikana heitetään seuraavan kaltainen virhesanoma:
le_nom_du_binaire: error while loading shared libraries: libXX.so.0: cannot open shared object file: No such file or directoryEsimerkkiarvo:
:0.0Esimerkkiarvo:
xtermEsimerkkiarvo
gnome-pääte $ DESKTOP_SESSIONEsimerkkiarvo:
default $ DESKTOP_STARTUP_IDEsimerkiksi arvo ympäristössä on /home/demo/Bureau/getenv.sh käsikirjoituksen käynnistämä SpaceFM työpöydän johtaja alla LXDE :
DESKTOP_STARTUP_ID = spacefm / | home | demo | Desktop | getenv.sh/3459- 2-debian7_TIME740137
GTK + käyttää tätä ympäristömuuttujaa sovelluksen käynnistysilmoituksen yhteydessä. Virallisten eritelmien mukaan GTK + -sovelluksen on tuhottava tämä ympäristömuuttuja lukemisen jälkeen, jotta sitä ei välitettäisi aliprosesseihinsa.
Kun yllä mainitun esimerkin /home/demo/Bureau/getenv.sh -ohjelma käynnistetään automaattisesti sisäänkirjautumisen yhteydessä .desktop-tiedoston kautta hakemistossa $ HOME / .config / autostart tai kun se suoritetaan graafisesta pääteemulaattorista, silloin sen ympäristö ei sisällä tätä muuttujaa.
$ GDM_XSERVER_LOCATION ja $ GDMSESSIONKatso GNOME Display Manager .
$ GNOME_DESKTOP_SESSIONEsimerkkiarvo:
Default $ GNOME_KEYRING_SOCKETEsimerkkiarvo:
/tmp/keyring-24TGGU/socketKatso i18n .
Jos ympäristömuuttuja $ POSIXLY_CORRECT on asetettu, GNU / Linux- komennot ovat POSIX- standardin mukaisia .
Esimerkiksi GNU grep noudattaa POSIX.2-standardia, jos tämä muuttuja on asetettu.
Katso POSIX # Ympäristömuuttuja POSIXLY CORRECT .
Sisältää nykyisen istunnon käyttäjänimen arvon.
$ SHELL osoittaa oletuksena käytetyn kuoren tulkin . Tavallinen linux-arvo on / bin / bash (harvemmin / bin / sh ).
Saat luettelon kuoren Unix, katso luokka: Shell Unix .
Katso sisäiset muuttujat kohdasta (in) Sisäiset muuttujat .
On muuttujia, jotka eivät ole osa ympäristömuuttujia. Esimerkiksi voi olla:
Muuttuja <PATH> sisältää luettelon hakemistosta, josta suoritettavia tiedostoja haetaan . Tämä muuttuja löytyy Windowsista (% PATH%) sekä Unixista ja Linuxista ($ PATH).
EsimerkkiSiirryt mihin tahansa järjestelmän hakemistoon ( cd- komennolla ).
Jos yrität kirjoittaa wikipedia.exe konsoliin (tai päätelaitteeseen), sitä ei suoriteta, koska / opt / wikipedia / bin ei ole PATH-tiedostossa .
Toisaalta, jos kirjoitat / opt / wikipedia / bin / exfile , se toimii, mutta kirjoittaminen vie melko kauan.
Siksi on tarpeen säätää PATH-ympäristömuuttujaa.
Unix / Linux: $ PATHUnix- ja Linux-käyttöjärjestelmissä tätä muuttujaa käytetään vain suoritettavien tiedostojen (binaarinen tai shell-komentosarja) sijaintiin. Saat ohjelmiston kirjastot , muut muuttujat käytetään (esimerkki: $ LD_LIBRARY_PATH).
Näytä $ PATH echo $PATHVoit käyttää myös komentoa:
printenv PATH $ PATH: ":" -erotinErotin on kaksoispiste (:).
Muokkaa väliaikaisesti $ PATH: taKun bash shell
export PATH=$PATH:/opt/toto/binTämä muutos on vain väliaikainen (nykyiselle istunnolle).
Muuta $ PATH pysyvästiSiksi sinun on tehtävä PATH-muunnos pysyväksi lisäämällä seuraava rivi ~ /. bashrc .
export PATH=$PATH:/opt/toto/bin Nykyinen hakemistonloukkuJos haluat suorittaa nykyisessä hakemistossa olevan tiedoston, Unix- kohdassa sinun on yleensä pakko lisätä komentoon "./", jonka avulla voit ilmoittaa, että tiedosto on nykyisessä hakemistossa.
Tämä erikoisuus hämmästyttää käyttäjiä, jotka ovat tottuneet Windowsiin (tai vanhaan MS-DOS: ään ), jossa voit soittaa suoraan nykyisessä hakemistossa olevalle ohjelmalle.
Tämä on turvatoimenpide. Esimerkiksi, jos haitallinen tunkeilija onnistuu sijoittamaan ls- nimisen haittaohjelman nykyiseen hakemistoon, tämä ohjelma suoritetaan heti, kun haluat luetteloida hakemiston ( yleensä / bin / hakemistossa olevan ls- komennon sijaan ). , joka on PATH, mutta joka voidaan modifioida järjestelmänvalvoja ).
Jos kaikesta huolimatta käyttäjä haluaa löytää tämän Microsoftin "ergonomian", hänen on lisättävä polku "./" polkuunsa:
PATH=$PATH;./Tämä suojaustoimenpide on otettu uudelleen käyttöön PowerShellissä, joka sisältyy Windowsin versioon 7; Käyttääksesi suoritettavaa tiedostoa nykyisessä kansiossa käyttäjän on edeltävä sitä ". \".
$ PATH -profiili profiilissaKaikkien kirjautumisten perusarvo $ PATH määritetään profiilissa: Shell file / etc / profile .
Mac OS X: ssä Näytä $ PATH( Bourne-kuoressa )
echo $PATH $ PATH: ":" -erotinErotin on kaksoispiste (:).
Muokkaa väliaikaisesti $ PATH: ta export PATH="$PATH:/opt/toto/bin"Tämä muutos on vain väliaikainen (nykyiselle istunnolle).
Muuta $ PATH pysyvästiPATH-muunnos on tehtävä pysyväksi lisäämällä seuraava rivi käyttäjäprofiiliin (ts. Kuori ~ / .profile tai ~ / .bash_profile riippuen käyttämäsi päätelaitteen tyypistä).
export PATH="$PATH:/opt/toto/bin"On myös mahdollista muokata / etc / profile-tiedoston PATH- tiedostoa suoraan (sinun on käytettävä sudoa tai oltava root ).
Windows:% PATH%Jos Windowsissa suoritettava tiedosto ei ole oletussijainnissa, muuttuja% PATH% osoittaa, mistä hakemistoista sitä etsitään.
Tämä muuttuja on asetettu kautta rekisterin , konfiguraatiossa Session Manager (SMSS.EXE) (tarkka sijainti on: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PATH)
Näytä% PATH%Kirjoita komentokehotteeseen komento:
SET pathtai
ECHO %PATH% % PATH% erotin: puolipisteErotin on puolipiste: "; ".
Muokkaa tilapäisesti% PATH%Kirjoita komentokehotteeseen komento:
SET PATH=%PATH%;c:\opt\wikipedia\binTämä muutos on vain väliaikainen (nykyiselle komentokehotteelle).
Muuta% PATH% pysyvästiKolme tapaa ovat mahdollisia:
1 - PATH-ympäristömuuttujaa on muokattava valitsemalla Ohjauspaneeli> Järjestelmä> Lisäasetukset> Ympäristömuuttujat> Järjestelmämuuttujat: Muuttujan polku ify Muokkaa. Esimerkki: add; C: \ Batch ilmaisemaan, että Windowsin tulisi etsiä C: \ Batch-hakemistosta löytää sovellus tai .bat-tiedosto.
2- Käytä MS-DOS-komentoa (jota on helpompi käyttää komentosarjassa), joka perustuu setxiin
Tässä on esimerkki käytöstä: Tavoitteena on lisätä C: \ Wikipedia \ bin pysyvästi PATH-ympäristömuuttujaan. SETX "%PATH%;C:\Wikipedia\bin"3- Käytä MS-DOS-komentoa (joka on helpompaa käyttää komentosarjassa), joka muuttaa rekisteriä.
Tässä on esimerkki käytöstä: Tavoitteena on lisätä C: \ Lotus \ Notes PATH-ympäristömuuttujaan pysyvästi. REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /d "%PATH%;C:\Lotus\Notes" /f REG ADD -vaihtoehdot: / f (voima): sallii pakottaa rekisteriavaimen lisäämisen näyttämättä vahvistusta; / v (arvo): ilmaisee arvon nimen; / d (data): osoittaa avaimen arvon. Huomaa: Kone on käynnistettävä uudelleen, jotta järjestelmä ottaa huomioon aiemmin tehdyt muutokset.Tämä ympäristömuuttuja asetetaan vain, jos Java on asennettu vastaavaan tietokoneeseen.
JAVA_HOME osoittaa hakemiston, joka sisältää Java-virtuaalikoneelle tarvittavien tiedostojen puurakenteen ( luokka , ohjelmistokirjastot jne.). Katso Java-luokan lataaja .
Katso Windows-tapausta varten istunnonhallinnan asettamat ympäristömuuttujat (smss.exe) .