环境变量

环境变量是一个动态命名的值，可以影响计算机上进程的行为方式。例如一个正在运行的进程可以查询TEMP环境变量的值，以发现一个合适的位置来存储临时文件，或者查询HOME或USERPROFILE变量，以找到运行该进程的用户所拥有的目錄結構。

在所有 UNIX 和 类Unix系统中, 每个进程都有其各自的环境变量设置。  缺省情况下, 当一个进程被创建时， 除了创建过程中的明确更改外，它继承了其父进程的绝大部分环境设置。 在API层级上, 使用fork和exec函数进行变量设置。或利用 shell文件, 使用特殊的命令调用来改变环境变量：通过Env 间接替代或者使用ENVIRONMENT_VARIABLE=VALUE <command> 标识。所有的UNIX操作系统 以及DOS 和Microsoft Windows 都使用环境变量，但是它们使用不同的环境变量名称。我们可以通过运行程序来访问环境变量的值。环境变量的例子包括：

PATH 罗列出 shell 搜索 用户 输入的执行命令所在的目录。
HOME (类Unix系统) 和 userprofile (Microsoft Windows) 表示用户的家目录在文件系统中的位置。
TERM (类Unix系统) 指定使用終端或虚拟终端 的类型 (如,  或 終端)。
CVS_RSH (类Unix系统) 该选项可用于 ext 方式中指明 cvs 客户端寻找远端 shell 的路径，用作连接 cvs 服务器和以更高的优先权覆盖 $CVS_RSH 环境变量中指定的路径。
MAIL (类Unix系统) 当前用户的邮件存放目录。

Shell 脚本 和 批处理文件 使用环境变量来存储临时值，用于以后在脚本中引用，也用于传递数据和参数给子进程。
在Unix系统中，一个在脚本或程序中更改的环境变量值只会影响该进程，亦可能影响其子进程。其父进程和无关进程将不受影响。在DOS中，更改或删除一个批处理文件中的环境变量值将改变变量的期限命令的存在。

在Unix系统通过初始化脚本启动时，环境变量通常会在此时被初始化，因此会被系统中的其它进程所继承。用户可以而且经常添加环境变量到他们使用的shell脚本中。
在Windows系统中，环境变量存储在 Windows 注册表中。

Category:操作系統技術
Category:计算机配置