zoukankan      html  css  js  c++  java
  • 什么是环境变量

    环境变量

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

    Windows系统环境变量大全表——

    环境变量

    详细信息

    %ALLUSERSPROFILE%

    所有用户 Profile 文件位置

    %APPDATA%

    应用程序数据的默认存放位置

    %CD%

    当前目录

    %CLIENTNAME%

    联接到终端服务会话时客户端的 NETBIOS 名

    %CMDCMDLINE%

    启动当前 cmd.exe 所使用的命令行

    %CMDEXTVERSION%

    当前命令处理程序扩展版本号

    %CommonProgramFiles%

    常用文件的文件夹路径

    %COMPUTERNAME%

    计算机名

    %COMSPEC%

    可执行命令外壳(命令处理程序)的路径

    %DATE%

    当前日期

    %ERRORLEVEL%

    最近使用的命令的错误代码

    %HOMEDRIVE%

    用户主目录所在的驱动器盘符

    %HOMEPATH%

    用户主目录的完整路径

    %HOMESHARE%

    用户共享主目录的网络路径

    %LOGONSEVER%

    有效的当前登录会话的域名控制器名

    %NUMBER_OF_PROCESSORS%

    计算机安装的处理器数

    %OS%

    操作系统的名字( Windows XP 和 Windows 2000 列为 Windows_NT )

    %Path%

    可执行文件的搜索路径

    %PATHEXT%

    操作系统认为可被执行的文件扩展名

    %PROCESSOR_ARCHITECTURE%

    处理器的芯片架构

    %PROCESSOR_IDENTFIER%

    处理器的描述

    %PROCESSOR_LEVEL%

    计算机的处理器的型号

    %PROCESSOR_REVISION%

    处理器的修订号

    %ProgramFiles%

    Program Files 文件夹的路径

    %PROMPT%

    当前命令解释器的命令提示设置

    %RANDOM%

    界于 0 和 32767 之间的随机十进制数

    %SESSIONNAME%

    连接到终端服务会话时的连接和会话名

    %SYSTEMDRIVE%

    Windows 启动目录所在驱动器

    %SYSTEMROOT%

    Windows 启动目录的位置

    %TEMP% and %TMP%

    当前登录的用户可用应用程序的默认临时目录

    %TIME%

    当前时间

    %USERDOMAIN%

    包含用户帐号的域的名字

    %USERNAME%

    当前登录的用户的名字

    %USERPROFILE%

    当前用户 Profile 文件位置

    %WINDIR%

    操作系统目录的位置

    设置参数

    环境变量相当于给系统或用户应用程序设置的一些参数,具体起什么作用这当然和具体的环境变量相关。比如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
    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_USEREnvironment;
    系统变量所在位置为:HKEY_LOCAL_MACHINESYSTEMControlSet001
    ControlSession ManagerEnvironment。
    另外也可以右击我的电脑——高级系统设置——环境变量——在系统变量里有path选项——双击打开——在原有变量的基础上添加英文状态下的分号——然后将路径名输入即可。(切记,不要删除原先的系统变量,只要用分号隔开,然后添加,最后也要加上分号)

    编辑方法

    在命令行中对环境变量进行编辑的方法
    查看当前可用的所有环境变量(=系统变量+用户变量)
    set
    查看某个环境变量,如PATH
    set PATH
    添加环境变量,如xxx=aa
    set xxx=aa
    将环境变量(如xxx)的值置为空
    set xxx=
    在某个环境变量(如PATH)后添加新的值(如d:xxx)
    set PATH=%PATH%;d:xxx
    (注:在dos窗口中以命令行方式对环境变量的操作只对当前窗口的应用有效)
     
  • 相关阅读:
    【NOIP2011】观光公交
    【NOIP2014】飞扬的小鸟
    HDU
    [Tyvj 1728]普通平衡树
    【NOIP2012】 疫情控制
    洛谷P1613 跑路
    [HNOI2002]营业额统计
    3486 ( Interviewe )RMQ
    poj2019 二维RMQ裸题
    动态规划专题
  • 原文地址:https://www.cnblogs.com/yg6405816/p/5456864.html
Copyright © 2011-2022 走看看