environ

ENVIRON(7)               Podręcznik programisty Linuksa               ENVIRON(7)



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 influences the path prefix of names created by tempnam(3)  and
          other routines, and the temporary directory used by sort(1)  and other
          programs.

       *  LD_LIBRARY_PATH, LD_PRELOAD, and other LD_* variables influence the
          behavior of the dynamic loader/linker.

       *  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.08 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 lub nowszej. Nie przyjmuje się ŻADNEJ
       ODPOWIEDZIALNOŚCI.

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



Linux                          13 sierpnia 2020 r.                    ENVIRON(7)