Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.5.ZMIENNEŚRODOWISKOWE
Zreguływsystemieistniejemożliwośćzdefiniowaniadomyślnegozestawuzmiennych
środowiskowych
8
,natomiastwpraktycekażdyprocesposiadaichkopię,którąotrzymu-
jeodprocesu-rodzicaiktórąmożeswobodniemodyfikowaćwtakimwypadkuproce-
sypotomnedomyślniedziedzicząwłaśniezmodyfikowanąkopię.Proces-rodzicmoże
równieżzdefiniowaćdlauruchamianegoprogramucałkowicieodrębnyzestawzmiennych
środowiskowych,niezależnyodotrzymanychbądźdomyślnychzmiennych.Należyjednak
zaznaczyć,żezmiennekopiowanewmomencieuruchomieniaprocesupotomnego
oznaczato,żeproces-rodzicniebędziemógłmodyfikowaćzmiennychśrodowiskowych
procesupotomnegopojegouruchomieniu,ponieważtenoperowałbędzienawłasnejkopii.
Analogicznieprocespotomnyniemożezmienićwartościdanejzmiennejśrodowisko-
wejwblokuprocesu-rodzica.Ztegowzględuzmienneśrodowiskoweniemogąsłużyćza
metodękomunikacjimiędzydwomaprocesami
9
,ajedyniedoprzekazaniapewnychpara-
metrówwmomencieuruchomieniaprocesu.
Podobniejakwprzypadkucwd,interpreterypoleceńposiadajązestawrozkazówdo
modyfikacjizmiennychśrodowiskowychinterpretera,którezostanąodziedziczoneprzez
uruchamianeaplikacje.Dodatkowointerpreteryczęstokorzystajązezmiennychśrodo-
wiskowychjakozezmiennychwewnętrznychwskryptach.Wtakimwypadkuniektóre
interpretery(np.Bash)umożliwiająokreślenie,którezmiennepowinnybyćprzekazywa-
neprocesompotomnym,aktórepowinnybyćdostępnejedyniezpoziomuinterpretera
lubjegoskryptów.
Tabela2zawieraprzykładowepoleceniaoperującenazmiennychśrodowiskowych.
Tabela2.Przykładowepoleceniaoperującenazmiennychśrodowiskowych
Bash
exporta=xyz
lub
exporta
a=xyz
a=xyz
a=xyz./program
unseta
cmd.exe
Opis
seta=xyz
Ustawieniezmiennejśrodowiskowejanawartośćxyz.
WprzypadkuBashsamoexportapowodujeustawienie
hbitudziedziczenia”dladotychczaslokalnejzmienneja.
Ustawieniezmienneja,któraniezostanieprzekazana
procesompotomnym,nawartośćxyz.
Uruchomienieprogramuprogramorazprzekazaniemu
zmiennejśrodowiskoweja.Pozakończeniuprogramu
zmiennataniejestwidocznawśrodowisku.
seta=
Usunięciezmiennejśrodowiskoweja.
8NaprzykładwprzypadkusystemuWindows7ustawieniatemożnaznaleźćwPaneluSterowania,akonkret-
niejnawigującpoSystemZaawansowaneustawieniasystemoweZaawansowaneZmienneśrodowiskowe.
WprzypadkuUbuntu14.04.2LTSdomyślnezmiennezdefiniowanewpliku/etc/environment.
9PodsystememWindowsodpowyższychzasadistniejepewienwyjątek.Mianowiciedowolnyproceswsyste-
mie,któryposiadaodpowiednieuprawnienia,możezmodyfikowaćdomyślnezmienneśrodowiskowe,anastępnie
rozesłaćwiadomośćWM-SETTINGCHANGEzparametremhEnvironment”,którainformujewszystkiezaintereso-
waneprocesy,żeuległyonezmianie.Wprzypadkuodebraniatakiegozdarzeniazainteresowaneprocesymogą
(aleniemuszą)odświeżyćswójblokzmiennychśrodowiskowych.
35