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.