environ

ENVIRON(7)                Linux - příručka programátora               ENVIRON(7)



JMÉNO
       environ - uživatelské prostředí

POUŽITÍ
       extern char **environ;

POPIS
       Proměnná environ odkazuje na pole řetězců nazývané "prostředí"
       (environment).  (Tato proměnná musí být deklarována v uživatelském
       programu.  Pouze v případě, že hlavičkové soubory pocházejí z libc4 nebo
       libc5, anebo pocházejí z glibc a zároveň je definováno _GNU_SOURCE , je
       proměnná deklarována v hlavičkovém souboru <unistd.h>).  Toto pole
       řetězců je zpřístupněno procesu voláním exec(3)  , které spustilo proces.
       Podle konvence mají tyto řetězce tvar "jméno=hodnota". Obvyklé případy:

       USER   Jméno přihlášeného uživatele (je používáno některými programy
              odvozenými z BSD).

       LOGNAME
              Jméno přihlášeného uživatele (je používáno některými programy
              odvozenými z System-V).

       HOME   Uživatelův domovský adresář, který je nastaven při přihlášení
              programem login(1)  ze souboru hesel passwd(5).

       LANG   Název locale které má být použito pro kategorie locale, pokud není
              nastaveno LC_ALL nebo konkrétnější proměnné prostředí jako
              LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_MONETARY, LC_NUMERIC,
              LC_TIME, viz locale(5).

       PATH   Seznam adresářů, které sh(1)  a mnoho dalších programů používá při
              hledání souboru u něhož není známa kompletní cesta. Jednotlivé
              adresáře jsou odděleny ':'. (Podobně se CDPATH používá v některých
              shellech k nalezení cíle pro příkaz změny adresáře, man(1) používá
              MANPATH k nalezení manuálových stránek, atd.)

       PWD    Aktuální pracovní adresář. Nastavují jej některé shelly.

       SHELL  Cesta k login shellu uživatele.

       TERM   Typ terminálu, pro který má být připraven výstup.

       PAGER  Uživatelem preferovaná utilita pro zobrazení textových souborů.

       EDITOR/VISUAL
              Uživatelem preferovaná utilita pro editování textových souborů.

       Další jména mohou být do prostředí umístěna příkazem export a
       "jméno=hodnota" v sh(1)  nebo příkazem setenv v csh(1).  Argumenty mohou
       být umístěny do prostředí i při volání funkce exec(3).  Program v C může
       manipulovat svým prostředím pomocí funkcí getenv(3), putenv(3),
       setenv(3), a unsetenv(3).

       Chování mnoha programů a knihovních rutin je ovlivněno přítomností nebo
       hodnotou určitých proměnných prostředí.  Náhodný výběr:

       Proměnné LANG, LANGUAGE, NLSPATH, LOCPATH, LC_ALL, LC_MESSAGES, atd.
       ovlivňují použití locale, srov.  locale(5).

       TMPDIR ovlivňuje prefix cesty u názvů, které vytváří tmpnam(3) a jiné
       rutiny, dočasný adresář, který používá sort(1)  a jiné programy, atd.

       LD_LIBRARY_PATH, LD_PRELOAD a další LD_* proměnné ovlivňují chování
       dynamického loaderu/linkeru.

       POSIXLY_CORRECT způsobí, že se určité programy a knihovní rutiny drží
       předpisů POSIX.

       Chování malloc(3)  je ovlivněno proměnnými MALLOC_*.

       Proměnná HOSTALIASES obsahuje název souboru, který obsahuje aliasy pro
       použití s gethostbyname(3).

       TZ a TZDIR obsahují informaci o časové zóně, kterou používá tzset(3)  a
       tím pádem i funkce jako ctime(3), localtime(3), mktime(3), strftime(3).
       Viz též tzselect(8).

       TERMCAP obsahuje informaci o možnostech terminálu (nebo název souboru
       obsahujícího tuto informaci).

       COLUMNS a LINES sdělují aplikacím velikost okna, bez ohledu na jeho
       skutečnou velikost.

       PRINTER nebo LPDEST mohou určit tiskárnu, která má být použita. Viz
       lpr(1).

       Atd.

CHYBY
       Je zde jasné bezpečností riziko. Mnoho systémových příkazů může být
       svedeno k páchání škody uživatelem, který zadal zvláštní hodnoty pro IFS
       nebo LD_LIBRARY_PATH.

       Existuje také riziko kontaminace jmenného prostoru.  Programy jako make a
       autoconf umožňují upřednostnit výchozí názvy utilit prostředí podobně
       pojmenovanými proměnnými zapsanými velkými písmeny.  Takže se používá CC
       pro výběr požadovaného překladače C (a podobně i MAKE, AR, AS, FC, LD,
       LEX, RM, YACC, atd.).  Nicméně při klasickém použití předává takováto
       proměnná prostředí programu volbu, nikoliv název soboru.  Takže se
       používá MORE, LESS, a GZIP.  Takovéto použití se pokládá za chybu a nové
       programy by se mu měly vyhýbat.  Autoži programu gzip by měli zvážit
       přejmenování volby na GZIP_OPT.

DALŠÍ INFORMACE
       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)

TIRÁŽ
       Tato stránka je součástí projektu Linux man-pages.  Popis projektu a
       informace o hlášení chyb najdete na http://www.kernel.org/doc/man-pages/.



Linux                              2001-12-14                         ENVIRON(7)