Provided by:
manpages-zh_1.5-1_all 
NAME
environ - 使用者環境(變量)
SYNOPSIS`覽
extern char **environ;
DESCRIPTIONyz
變量 environ 指向的是一茈s 'environment'(環境)的字符串數組 (這-
蚥僆q必須在使用者程式中聲明,但是在使用 libc4 或 libc5 以 及使用 glibc
並且定義了 _GNU_SOURCE 的情況下 ,它是在頭檔案 unistd.h
中聲明的)。對於一荈i程,這茼r符串的數組是通過開 始進程的 exec(3)
調用來得到,習慣上,這些字符串的格式是
USER 登入使用者的名字(被一些從 BSD 派生來程式所使用)。
LOGNAME
登入使用者的名字(被一些從 System-V 派生來程式所使用)。
HOME 使用者的登入目錄,被login(1)按口令檔案 passwd(5) 設置。
LANG 當不被 LC_ALL 或更特殊的環境變量所忽略的時唌A是用
於地域分類的地域名。
PATH 預先設定的目錄前綴的序列,sh(1) 和許多程式可犰僧d找路徑
名不完全的檔案。前綴由':'分隔。(類似的,有一些 shell 用 CDPATH
查找位於不同目錄的命令,以及用 MANPATH 找 手冊項扔央C)
PWD 當前的工作路徑。被一些 shell 設置。
SHELL 使用者的登入 shell 的檔名。
TERM 用於準備輸出的終端類型。
PAGER 使用者指定的顯示純文字檔的工具。
EDITOR/VISUAL
使用者指定的編輯純文字檔的工具。
更多的名字可以通過和在 sh(1) 中的 export 命令和 'name=value',或 csh(1)
中 的 setenv 命令設置。參數也可以在 執行 exec(2) 的時-
堀Q放置在環境中。一 C 程式可以使用函數 getenv(3)、 putenv(3)、
setenv(3) 和 unsetenv(3) 來操縱自赤瑰藿牷C
注意許多程式和庫例程的行為受特定的環境變量的存在和獐v響。
隨便的搜集一下就有:
環境變量 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 給出給定終端的視窗大小(或給出包含這種信息的檔案的 檔名)。
等等,還有很多。
這裏有一茤顯的安全滅I。不止一茖t統命令曾經被一茖洏峇F一 茪ㄣM常的 IFS
或 LD_LIBRARY_PATH 變量漕洏峈抳中J騙局中。
SEE ALSOS見
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
mlinuxan:
http://cmpp.linuxforum.net