Handbook:Parts/Working/EnvVar/zh-cn

简介
环境变量是一个具有特定名字的对象，它包含了一个或者多个应用程序所将使用到的信息. 通过使用环境变量，你可以很容易的修改一个牵涉到一个或多个应用程序的配置信息.

重要的例子
下表展示了一些Linux系统使用的变量并说明了它们的用处. 在表格后面将列举一些变量例值.

下面你可以找到所有这些变量定义的范例：

env.d目录
Gentoo采用了目录来集中定义全局变量. 在这个目录里，你会发现很多类似, 等等这样的文件，它们包含了文件名中提到的应用程序需要的变量.

举个例子，当你安装 时，一个名为 的文件就会被ebuild所创建，里面包含了如下一些变量：

其他的发行版会让你到或者其他地方修改和添加这些变量的定义. 而Gentoo为用户（还有为Portage）提供了更加便捷的方式来维护和管理环境变量，以后你不再需要把精力放在那些众多的包含环境变量的文件身上了.

比如，当你更新完 的时候， 也会被同时更新，而不需要你手工来完成.

这不仅对Portage有益，作为用户，你也是受益者. 有时候你需要设置某个系统范围的环境变量. 我们拿http_proxy变量来做例子，为了避免 http_proxy 搞乱，你只要新建一个文件然后添加你的定义：

通过使用同一个文件来定义你所有的变量，你对如何定义自己的变量有了个大概的了解.

env-update
中的好几个文件都定义了 PATH 变量. 这并没有错：当你运行的时候，它会在更新环境变量之前把这些定义都追加到PATH里，因此对于软件包（或者用户）来说将会很容易地设置他们自己的环境变量，而不影响到现有变量的值.

脚本会根据 里文件的字母顺序来附加变量的值. 这些文件名必须要以两位数字开头.

变量并不总是被串联起来，只有下列变量才会被串联： ADA_INCLUDE_PATH, ADA_OBJECTS_PATH , CLASSPATH , KDEDIRS , PATH , LDPATH , MANPATH , INFODIR , INFOPATH , ROOTPATH , CONFIG_PROTECT , CONFIG_PROTECT_MASK , PRELINK_PATH , PRELINK_PATH_MASK , PKG_CONFIG_PATH ,和 PYTHONPATH. 对于 里的文件中按照字母顺序排列后）其他所有变量，最新定义的值才会被使用到.

可以通过将变量名添加到 COLON_SEPARATED or SPACE_SEPARATED （也在 文件）.

当你运行 的时候，它会在文件 里（会被使用）创建所有的环境变量. 它也会从变量 LDPATH 中获取信息用来建立. 这些完成以后，它将运行 来重建动态链接器需要的文件.

如果你想在运行后立即看到效果，执行下面的命令来更新你的环境. 自己安装过Gentoo的用户可能已经记住了这个安装指南中提到过的命令：

特定用户
你并不是一直都想定义全局变量. 比如你想把和当前目录（你当前所在的目录）添加到 PATH 变量中，但又不想让其他用户的PATH变量中也有这个. 如果你想定义一个本地变量，可以使用 或者:

当你重新登录的时候，你的 PATH 变量将被更新.

特定会话
有时候甚至需要更加严格的定义. 你可能要使用一个你临时创建的目录里面的程序，而又不想输入它的路径或者为此短时间内内修改.

在这种情况下，你只需要在当前会话中使用来定义 PATH 变量. 只要你不注销， PATH 变量将保持这个临时的设置.