Rechercher une page de manuel

Chercher une autre page de manuel:

environ

Autres langues

Langue: pl

Version: 2001\-12\-14 (ubuntu - 01/11/07)

Autres sections - même nom

Section: 7 (Divers)

NAZWA

environ - ¶rodowisko u¿ytkownika

SK£ADNIA

 extern char **environ;
 

OPIS

Zmienna environ wskazuje na tablicê ³añcuchów zwan± ,,¶rodowiskiem''. (Zmienna ta musi byæ zdefiniowana w programie u¿ytkownika, jednak¿e jest ona zadeklarowana w pliku nag³ówkowym unistd.h, w przypadku gdy plik ten pochodzi z libc4 lub libc5 oraz w przypadku gdy pochodzi on z glibc a zdefiniowano _GNU_SOURCE. Ta tablica ³añcuchów udostêpniana jest procesowi przez funkcjê exec(3) podczas jego uruchamiania. Zgodnie z konwencj± ³añcuchy znaków maj± postaæ ,,nazwa=warto¶æ''. Typowe przyk³ady to:
USER
Nazwa zalogowanego u¿ytkownika (wykorzystywana przez niektóre programy wywodz±ce siê z BSD).
LOGNAME
Nazwa zalogowanego u¿ytkownika (wykorzystywana przez niektóre programy wywodz±ce siê z Systemu V).
HOME
Katalog domowy u¿ytkownika, zmienna ustawiana przez program login(1) na podstawie informacji z pliku passwd(5).
LANG
Nazwa ustawieñ jêzykowych, jaka ma byæ stosowana dla wszystkich kategorii ustawieñ, je¶li nie zosta³y narzucone przez zmienn± LC_ALL lub inne bardziej szczegó³owe zmienne, jak LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_MONETARY, LC_NUMERIC, LC_TIME, por. locale(5).
PATH
Ci±g katalogów które sh(1) oraz wiele innych programów przeszukuje w poszukiwaniu plików, których nazwa nie zawiera pe³nej ¶cie¿ki dostêpu. Poszczególne katalogi s± rozdzielane znakiem ,,:''. (Podobnie, CDPATH jest u¿ywane przez niektóre pow³oki do poszukiwania katalogu docelowego dla polecenia zmiany katalogu, a MANPATH jest u¿ywane przez man(1) do poszukiwania stron podrêcznika, itd.)
PWD
Aktualny katalog roboczy. Ustawiane przez niektóre pow³oki.
SHELL
Nazwa pow³oki zg³oszeniowej u¿ytkownika.
TERM
Rodzaj terminala dla którego system ma przygotowywaæ wyj¶cie.
PAGER
Wybrane przez u¿ytkownika narzêdzie do wy¶wietlania plików tekstowych.
EDITOR/VISUAL
Wybrane przez u¿ytkownika narzêdzie do edycji plików tekstowych.

Dalsze nazwy mog± byæ umieszczane w ¶rodowisku za pomoc± polecenia export i ,,nazwa=warto¶æ'' w przypadku stosowania pow³oki typu sh(1) lub polecenia setenv w przypadku pow³oki typu csh(1). W ¶rodowisku mog± byæ równie¿ umieszczane argumenty w momencie wykonywania funkcji exec(3). Program napisany w C mo¿e manipulowaæ ¶rodowiskiem za pomoc± funkcji getenv(3), putenv(3), setenv(3) i unsetenv(3).

Trzeba zauwa¿yæ, ¿e obecno¶æ lub warto¶ci pewnych zmiennych ¶rodowiska maj± wp³yw na zachowanie wielu programów i funkcji bibliotecznych. Przypadkowy zbiór:

Zmienne LANG, LANGUAGE, NLSPATH, LOCPATH, LC_ALL, LC_MESSAGES, itd. wp³ywaj± na obs³ugê ustawieñ jêzykowych, por. locale(5).

TMPDIR wp³ywa na prefiks ¶cie¿ki w nazwach tworzonych przez tmpnam(3) i inne funkcje, katalog tymczasowy wykorzystywany przez sort(1) i inne programy itd.

LD_LIBRARY_PATH, LD_PRELOAD i inne zmienne LD_* wp³ywaj± na zachowanie programu ³aduj±cego/konsolidatora bibliotek dynamicznych.

POSIXLY_CORRECT powoduje, ¿e niektóre programy i funkcje biblioteczne przestrzegaj± zaleceñ POSIX.

Na zachowanie malloc(3) wp³ywaj± zmienne MALLOC_*.

Zmienna HOSTALIASES okre¶la nazwê pliku zawieraj±cego aliasy, z których ma korzystaæ gethostbyname(3).

TZ i TZDIR podaj± informacje o strefie czasowej wykorzystywan± przez tzset(3) i przez funkcje takie jak ctime(), localtime(), mktime(), strftime(). Zobacz tak¿e tzselect(1).

TERMCAP podaje informacje o tym, jak adresowaæ okre¶lony terminal (lub podaje nazwê pliku zawieraj±cego te informacje).

COLUMNS i LINES mówi± aplikacjom o rozmiarze okna, ewentualnie narzucaj±c warto¶ci inne ni¿ rzeczywiste rozmiary.

PRINTER lub LPDEST mog± okre¶laæ drukarkê, która powinna byæ u¿ywana. Zobacz lpr(1).

Itd.

B£ÊDY

Oczywi¶ci istnieje tu ryzyko naruszenia bezpieczeñstwa. Wiele poleceñ systemowych zosta³o oszukanych w celu wyrz±dzenia szkody przez u¿ytkownika, który nada³ nietypowe warto¶ci zmiennym IFS lub LD_LIBRARY_PATH.

Istnieje równie¿ ryzyko ska¿enia przestrzeni nazw. Programy takie jak make i autoconf pozwalaj± na nadpisywanie domy¶lnych nazw programów narzêdziowych poprzez ¶rodowisko zawieraj±ce zmienne o nazwach podobnych do nazw tych programów, ale sk³adaj±cych sie wy³±cznie z wielkich liter. Zatem u¿ywa siê CC do okre¶lenia po¿±danego kompilatora C (i podobnie MAKE, AR, AS, FC, LD, LEX, RM, YACC itd.). Jednak¿e, w niektórych tradycyjnych zastosowaniach takie zmienne ¶rodowiskowe podaj± opcje dla programów zamiast ¶cie¿ki. Zatem mamy MORE, LESS i GZIP. Takie zastosowanie jest traktowane jako b³êdne i nale¿y go unikaæ w nowych programach. Autorzy programu gzip powinni rozwa¿yæ zmianê nazwy swojej opcji na GZIP_OPT.

ZOBACZ TAK¯E

bash(1), csh(1), login(1), sh(1), tcsh(1), execve(2), clearenv(3), exec(3), getenv(3), putenv(3), setenv(3), unsetenv(3), locale(5)
On n'est jamais si heureux ni si malheureux qu'on s'imagine.
-+- François de La Rochefoucauld (1613-1680), Maximes 49 -+-