如题所述
第1个回答 2022-10-12
环境变数(environment variables)一般是指在作业系统中用来指定作业系统运行环境的一些参数,如:临时资料夹位置和系统资料夹位置等。
环境变数是在作业系统中一个具有特定名字的对象,它包含了一个或者多个套用程式所将使用到的信息。例如Windows和DOS作业系统中的path环境变数,当要求系统运行一个程式而没有告诉它程式所在的完整路径时,系统除了在当前目录下面寻找此程式外,还应到path中指定的路径去找。用户通过设定环境变数,来更好的运行进程。
基本介绍
- 中文名 :环境变数 外文名 :environment variables 套用学科 :计算机软体 属性 :对象 OBJECT
主要作用
设定参数
环境变数相当于给系统或用户应用程式设定的一些参数,具体起什么作用这当然和具体的环境变数相关。比如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控制项时就会到所有默认路径中去查找,如果在这些目录中查找到相应的程式则自动载入,查找不到则报告缺少某某档案的错误信息。软体共用
很多朋友会在自己的计算机上安装双系统,例如C糟安装Windows XP,D糟安装Windows 7。可是某些软体往往只在Windows XP系统中安装,Windows 7系统中是无法正常使用的,比较麻烦却有效的方法是再安装一遍。当我们了解了环境变数中的用途后就可以很好解决双系统的软体共用问题。系统运行
为什么在Windows XP中安装了的软体在Windows 7下无法运行呢(绿色软体除外)?原因是安装软体时往往须要向系统目录中复制某些档案,而使用另外一个系统时会由于缺少这些档案而无法运行。因此,我们可以通过设定环境变数的方法来解决这个问题。常见环境变数
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 sttyintr \^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作业系统中可以通过我的电脑-〉系统属性-〉高级系统设定->环境变数,来设定系统的环境变数,然而在此设定的环境变数是否在注册表中具有对应的项呢?答案是肯定的。而在 中提供了一个类来获取系统的环境变数及其值。 环境变数分为两类:用户变数与系统变数,在注册表中都有对应的项。 其中用户变数所在位置: 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视窗中以命令行方式对环境变数的操作只对当前视窗的套用有效)