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.