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”.
       (Zmienna ta musi być zdefiniowana 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 a
       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 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   Ciąg 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    Aktualny 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(), localtime(), mktime(),
       strftime().  Zobacz także tzselect(1).

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

       Itd.

BŁĘDY
       Oczywiści 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 sie 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)

INFORMACJE O TŁUMACZENIU
       Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia
       Manuali i może nie być aktualne. W razie zauważenia różnic między
       powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub
       funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony
       podręcznika.



Linux                              2001-12-14                         ENVIRON(7)