环境变量

环境变量

     环境变量(environment variables)通常是指在 操做系统中用来指定操做系统运行环境的一些参数,如: 临时文件夹位置和 系统文件夹位置等。
环境 变量是在操做系统中一个具备特定名字的对象,它包含了一个或者多个应用 程序所将使用到的信息。例如Windows和DOS操做系统中的path环境变量,当要求系统运行一个 程序而没有告诉它程序所在的完整路径时,系统除了在 当前目录下面寻找此程序外,还应到path中指定的路径去找。用户经过设置环境 变量,来更好的运行进程。
 

主要做用

设置参数
      环境 变量至关于给系统或用户 应用程序设置的一些参数,具体起什么做用这固然和具体的环境变量相关。好比path,是告诉系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在 当前目录下面寻找此程序外,还应到哪些目录下去寻找;再如tc或vc++中,set include=path1;path2; 是告诉 编译程序到哪里去找.h类型的文件;固然不只仅是指定什么路径,还有其它的做用的,如set dircmd=/4 设置一个环境变量的做用是在使用dir 命令时会把/4做为缺省的参数添加到你的dir命令以后,就像你的每一个命令都加了/4参数,它其实是给命令 解释程序command设置的一个环境变量,而且是给dir这个 内部命令设置的。
DWORD  GetEnvironmentVariable(LPCSTR lpName, LPSTR lpBuffer, DWORD dSize),参数lpName是你要求查询的环境 变量的名,lpBuffer是返回你所指定的环境变量的值的,dSize是告诉这个 函数lpBuffer能够存放多少个字节。
     分析本地故障时缘由极可能就是由于环境 变量中的默认路径被删除的结果,默认路径一经设置,当前系统若有 程序运行时须要某些DLL或EXE文件,以及Active控件时就会到全部默认路径中去查找,若是在这些 目录中查找到相应的程序则自动加载,查找不到则报告缺乏某某文件的 错误信息
 
 

常见环境变量

 

WINDOWS系统

%ALLUSERSPROFILE% 局部 返回全部“ 用户配置文件”的位置。
%APPDATA% 局部 返回默认 状况应用程序存储数据的位置。
%CD% 局部 返回 当前目录字符串。
%CMDCMDLINE% 局部 返回用来启动当前的 Cmd.exe 的准确 命令行。
%CMDEXTVERSION% 系统 返回当前的“ 命令处理 程序扩展”的版本号。
%COMPUTERNAME% 系统 返回 计算机的名称。
%COMSPEC% 系统 返回 命令行解释器可执行 程序的准确路径。
%DATE% 系统 返回当前 日期。使用与 date /t  命令相同的格式。由 Cmd.exe 生成。有关 date  命令的详细信息,请参阅 Date。
%ERRORLEVEL% 系统 返回使用过的 命令错误代码。一般用非零值表示错误。
%HOMEDRIVE% 系统 返回链接到用户主 目录的本地工做站驱动器号。基于主 目录值的设置。用户主 目录是在“本地用户和组”中指定的。
%HOMEPATH% 系统 返回用户主 目录的完整路径。基于主 目录值的设置。用户主 目录是在“ 本地用户和组”中指定的。
%HOMESHARE% 系统 返回用户的共享主 目录的网络路径。基于主 目录值的设置。用户主 目录是在“本地用户和组”中指定的。
%LOGONSEVER% 局部 返回验证当前登陆会话的 域控制器的名称。
%NUMBER_OF_PROCESSORS% 系统 指定安装在 计算机上的处理器的数目。
%OS% 系统 返回 操做系统的名称。Windows 2000 将 操做系统显示为 Windows_NT。
%PATH% 系统 指定 可执行文件的搜索路径。
%PATHEXT% 系统 返回 操做系统认为可执行的 文件扩展名的列表。
%PROCESSOR_ARCHITECTURE% 系统 返回处理器的芯片体系结构。值: x86,IA64。
%PROCESSOR_IDENTIFIER% 系统 返回处理器说明。
%PROCESSOR_LEVEL% 系统 返回 计算机上安装的处理器的型号。
%PROCESSOR_REVISION% 系统 返回处理器修订号的 系统变量
%PROMPT% 局部 返回当前 解释程序命令提示符设置。由 Cmd.exe 生成。
%RANDOM% 系统 返回 0 到 32767 之间的任意 十进制数字。由 Cmd.exe 生成。
%SYSTEMDRIVE% 系统 返回包含 Windows XP 根 目录(即系统根目录)的 驱动器
%SYSTEMROOT% 系统 返回 Windows XP 根 目录的位置。
%TEMP% and %TMP% 系统和用户 返回对当前登陆用户可用的 应用程序所使用的默认临时 目录。有些 应用程序须要 TEMP,而其它应用程序则须要 TMP。
%TIME% 系统 返回当前时间。使用与 time /t 命令相同的格式。由 Cmd.exe 生成。有关 time  命令的详细信息,请参阅 Time。
%USERDOMAIN% 局部 返回包含 用户账户的域的名称。
%USERNAME% 局部 返回当前登陆的用户的名称。
%UserProfile% 局部 返回当前用户的配置文件的位置。
%WINDIR% 系统 返回 操做系统 目录的位置。
 

Linux系统

       shell环境依赖于多个文件的设置。当shell被调用时,它从两个初始文件读取 命令。/etc/profile包含了 系统变量,它由 系统管理员维护,由系统管理员设置本地系统变量和特殊 命令。普通用户的启动 信息文件($HOME/.bash_project)由各用户本身维护,该文件能够被修改以实现任何特定的 系统初始化
只有在特定的 状况下才读取profile文件,确切的说是在用户登录的时候。当运行shell脚本或subshell之后,就无须再读profile.虽然全部profile均可选的,可是基本上全部系统都有/etc/profile.
若是定义了 变量ENV且已经传递到环境中,则全部的bash shell都要读取并调用由这个变量制定的文件所包含的 命令。这个文件用来定义全部bash shell的特征,而不只仅是登录到shell。这个文件的典型的名字是$HOME/,bashrc。
当用( 系统管理员)新建用户时,.bash_profile、bashrc和其余公共的环境文件模板将复制到/etc/skel这个 目录下面。能够编辑这些初始化设置,也能够在此 目录下添加附加的文件。
Example:
一个典型的系统profile(/etc/profile):
PATH=$PATH:/usr/qa/tools/bin
ENV==$HOME/.bashrc
ORACLE_HOME=/ dbs/oracle
ORACLE_SID=qadb
Export PATH ENV ORACLE_HOME ORCAL_SID
Cat /etc/motd
一个典型的用户profile(.bashrc)
PATH=$PATH:$HOME/bin
TEAM=uvt1224 export TERM
stty intr \^C
cal
mesg n
一个典型的用户 bashrc file (.bashrc):
alias dir=ls lf='ls -FC'
PSI='$PWS[!]>'
set -o vi
别名和其余bash专用的定义应该放在.bashrc文件(不该在.bash_profile) 中定义;不然会致使找不到某些 命令
应该记住profile文件和.bashrc文件的区别:两个profile都只在系统启动时被读取一次,而.bashrc在系统启动和每次调用shell的时候都要被读取。
 

设置方法

      在windows 操做系统中能够经过 个人电脑-〉系统属性-〉高级系统设置->环境变量,来设置系统的环境 变量,然而在此设置的环境变量是否在注册表中具备对应的项呢?答案是确定的。而在.net 中提供了一个类来获取系统的环境 变量及其值。
环境 变量分为两类:用户变量与 系统变量,在注册表中都有对应的项。
其中用户 变量所在位置:\ HKEY_CURRENT_USER\Environment;
系统变量所在位置为:\ HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment。
     另外也能够右击 个人电脑——高级系统设置——环境 变量——在 系统变量里有path选项——双击打开——在原有变量的基础上添加英文状态下的分号——而后将路径名输入便可。(切记,不要删除原先的 系统变量,只要用分号隔开,而后添加,最后也要加上分号)
 

编辑方法

在命令行中对环境变量进行编辑的方法
查看当前可用的全部环境 变量(= 系统变量+用户变量)
set
查看某个环境 变量,如PATH
set PATH
添加环境 变量,如xxx=aa
set xxx=aa
将环境 变量(如xxx)的值置为空
set xxx=
在某个环境 变量(如PATH)后添加新的值(如d:\xxx)
set PATH=%PATH%;d:\xxx
(注:在dos窗口中以 命令行方式对环境 变量的操做只对当前窗口的应用有效)
相关文章
相关标签/搜索