Handbook:Parts/Working/EnvVar/zh-cn

简介
环境变量是一个具有特定名字的对象，它包含了一个或者多个应用程序所将使用到的信息. 许多用户（特别是那些刚接触Linux的新手）发现这些变量有些怪异或者难以控制. 其实，这是个误会：通过使用环境变量，你可以很容易的修改一个牵涉到一个或多个应用程序的配置信息.

重要的例子
下表展示了一些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的用户可能已经记住了这个安装指南中提到过的命令：

User specific
It might not be necessary to define an environment variable globally. For instance, one might want to add and the current working directory (the directory the user is in) to the PATH variable but do not want all other users on the system to have that in their PATH too. To define an environment variable locally, use or :

After logout/login, the PATH variable will be updated.

Session specific
Sometimes even stricter definitions are requested. For instance, a user might want to be able to use binaries from a temporary directory created without using the path to the binaries themselves or editing for the short time necessary.

In this case, just define the PATH variable in the current session by using the command. As long as the user does not log out, the PATH variable will be using the temporary settings.