Provided by: manpages-pl_0.6-2_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 ustawiono testowe makro _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ą  środowiskową,  taką  jak  LC_COLLATE,  LC_CTYPE,  LC_MESSAGES,
              LC_MONETARY, LC_NUMERIC i LC_TIME (zob. locale(7) aby dowiedzieć się więcej o zmiennych LC_*).

       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, zob. catopen(3), gettext(3) i locale(7).

       TMPDIR  wpływa  na  prefiks  ścieżki  w  nazwach  tworzonych  przez tmpnam(3) i inne funkcje oraz 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

       env(1),  bash(1),  csh(1),  login(1),  printenv(1),  sh(1),  tcsh(1),  execve(2),  clearenv(3),  exec(3),
       getenv(3), putenv(3), setenv(3), unsetenv(3), locale(7), ld.so(8)

O STRONIE

       Angielska wersja tej strony pochodzi z wydania 3.71 projektu Linux man-pages. Opis  projektu,  informacje
       dotyczące   zgłaszania   błędów,   oraz   najnowszą   wersję   oryginału   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.71 oryginału.

Linux                                              2014-08-19                                         ENVIRON(7)