Provided by: manpages-pl_4.14.0-4_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. Gdy proces potomny jest tworzony przez
       fork(2), dziedziczy copy ze środowiska swojego rodzica.

       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.

       Nazwy mogą być umieszczane w środowisku powłoki poleceniem export w sh(1) lub setenv jeśli
       korzysta się z csh(1).

       Na  początkowe  środowisko  powłoki  ma  wpływ  wiele  czynników,  takich  jak definicje z
       /etc/environment przetwarzane dla wszystkich użytkowników przy logowaniu przez  pam_env(8)
       (w systemach korzystających z pam(8)). Dodatkowo wiele inicjalizacyjnych skryptów powłoki,
       takich  jak  systemowy  skrypt  /etc/profile  i   skrypty   inicjalizacyjne   użytkowników
       mogą zawierają  polecenia  dodające  zmienne  do środowiska powłoki; proszę zapoznać się z
       podręcznikiem systemowym swojej powłoki, aby dowiedzieć się więcej.

       Powłoki wzorowane na powłoce Bourne'a obsługują składnię

           NAZWA=wartość polecenie

       aby zdefiniować zmienną środowiskową wyłącznie w zakresie procesu wykonującego  polecenie.
       Przed poleceniem można podać wiele definicji, oddzielonych białym znakiem.

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

       Note that the behavior of many programs and library routines is influenced by the presence
       or value of certain environment variables.  Examples include the following:

       *  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 tempnam(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).

UWAGI

       The  prctl(2)  PR_SET_MM_ENV_START and PR_SET_MM_ENV_END operations can be used to control
       the location of the process's environment.

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), env(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), pam_env(8)

O STRONIE

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

TŁUMACZENIE

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

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją. Bliższe informacje o warunkach licencji
       można   uzyskać   zapoznając   się   z   GNU   General   Public   License   w   wersji   3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   lub   nowszej.   Nie  przyjmuje  się  ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy w tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej
       ⟨manpages-pl-list@lists.sourceforge.net⟩.