Provided by: manpages-pl_0.5-1_all bug

NAZWA

       environ - środowisko użytkownika

SKŁADNIA

       extern char **environ;

OPIS

       Zmienna  environ  wskazuje na tablicę łańcuchów zwaną "środowiskiem". Ostatni wskaźnik w tej tablicy musi
       mieć wartość NULL. (Zmienna ta  musi  być  zadeklarowana  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 i 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 w tablicy environ 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   Sekwencja 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    Bieżący 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(3), localtime(3), mktime(3), strftime(3).  Zobacz także tzselect(8).

       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).

       I tak dalej.

BŁĘDY

       Oczywiście  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 się 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)

O STRONIE

       Angielska  wersja  tej  strony  pochodzi  z  wydania  3.52  projektu  Linux man-pages. Opis projektu oraz
       informacje dotyczące zgłaszania błędów można znaleźć pod adresem http://www.kernel.org/doc/man-pages/.

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia  niniejszej   strony   podręcznika   man   są:   Przemek   Borys   (PTM)
       <pborys@dione.ids.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>.

       Polskie  tłumaczenie  jest  częścią  projektu  manpages-pl;  uwagi,  pomoc,  zgłaszanie błędów na stronie
       http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją  3.52 oryginału.

Linux                                              2009-07-25                                         ENVIRON(7)