ENVIRON(5)(Linux)

NAME
environ - 用戶環境(變量)

SYNOPSIS 總覽
extern char **environ;

DESCRIPTION 描述
變量 environ 指向的是一個叫 'environment'(環境)的字符串數組 (這個變量必須在用戶程序中聲明，但是在使用 libc4 或 libc5 以 及使用 glibc 並且定義了 _GNU_SOURCE 的情況下 ，它是在頭文件 unistd.h 中聲明的)。對於一個進程，這個字符串的數組是通過開 始進程的 exec(3) 調用來得到，習慣上，這些字符串的格式是'name=value' (名稱=值)。常用的例子是：

USER
    登錄用戶的名字(被一些從 BSD 派生來程序所使用)。

LOGNAME
    登錄用戶的名字(被一些從 System-V 派生來程序所使用)。

HOME
    用戶的登錄目錄，被login(1)按口令文件 passwd(5) 設置。

LANG
    當不被 LC_ALL 或更特殊的環境變量所忽略的時候，是用 於地域分類的地域名。

PATH
    預先設定的目錄前綴的序列，sh(1) 和許多程序可藉此查找路徑 名不完全的文件。前綴由':'分隔。(類似的，有一些 shell 用 CDPATH 查找位於不同目錄的命令，以及用 MANPATH 找 手冊頁等等。)

PWD 當前的工作路徑。被一些 shell 設置。

SHELL
    用戶的登錄 shell 的文件名。

TERM
    用於準備輸出的終端類型。

PAGER
    用戶指定的顯示文本文件的工具。

EDITOR/VISUAL
    用戶指定的編輯文本文件的工具。

更多的名字可以通過和在 sh(1) 中的 export 命令和 'name=value'，或 csh(1) 中 的 setenv 命令設置。參數也可以在 執行 exec(2) 的時候被放置在環境中。一個 C 程序可以使用函數 getenv(3)、 putenv(3)、 setenv(3) 和 unsetenv(3) 來操縱自身的環境。 注意許多程序和庫例程的行爲受特定的環境變量的存在和值的影響。 隨便的蒐集一下就有：

環境變量 LANG、LANGUAGE、NLSPATH、LOCPATH、LC_ALL、 LC_MESSAGES 等影響地域的處理。

TMPDIR 影響 tmpnam(3) 生成名字的路徑名前綴和其他一些例程， sort(1) 和其他程序用的臨時文件目錄等等。

LD_LIBRARY_PATH、LD_PRELOAD 和其他 LD_* 變量影響動態 (裝載器/連接器)的行爲。

POSIXLY_CORRECT 使特定的程序和庫例程遵循 POSIX 規定。

MALLOC_* 變量影響 malloc(3) 的行爲。

HOSTALIASES 變量給出包含 gethostbyname(3) 用的別名的文件的 文件名。

TZ 和 TZDIR 給出時區信息。

TERMCAP 給出給定終端的窗口大小(或給出包含這種信息的文件的 文件名)。

等等，還有很多。 這裏有一個明顯的安全風險。不止一個系統命令曾經被一個使用了一 個不尋常的 IFS 或 LD_LIBRARY_PATH 變量值的用戶誘入騙局中。

SEE ALSO 又見
login(1), sh(1), bash(1), csh(1), tcsh(1), execve(2), exec(3), getenv(3), putenv(3), setenv(3), unsetenv(3).

[中文版維護人]
mhss <jijingzhisheng@up369.com>

[中文版最新更新]
2000/11/26

《中國linux論壇man手冊頁翻譯計劃》:
http://cmpp.linuxforum.net

跋
本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃：https://github.com/man-pages-zh/manpages-zh