ENVIRON(5)
Section: ENVIRON(5) (Linux)
Updated: Programmer's
Index
NAME
environ - 用户环境(变量)
SYNOPSIS 总览
extern char **environ;
DESCRIPTION 描述
变量 environ 指向的是一个叫 'environment'(环境)的字符串数组
(这个变量必须在用户程序中声明,但是在使用 libc4 或 libc5 以
及使用 glibc 并且定义了 _GNU_SOURCE 的情况下 ,它是在头文件
unistd.h 中声明的)。对于一个进程,这个字符串的数组是通过开
始进程的 exec(3) 调用来得到,习惯上,这些字符串的格式是
- 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
Index
- NAME
-
- SYNOPSIS 总览
-
- DESCRIPTION 描述
-
- SEE ALSO 又见
-
- [中文版维护人]
-
- [中文版最新更新]
-
- 《中国linux论坛man手册页翻译计划》:
-
This document was created by
man2html,
using the manual pages.
Time: GMT, January 14, 2004