搭建编译环境时为什么有时候要设置环境变量,而有时又设置用户变量?

环境变量分为系统环境变量和用户环境变量。 
你所说的环境变量是指系统环境变量,对所有用户起作用 
而用户环境变量只对当前用户起作用。

例如你要用java,那么你把java的bin目录加入到path变量下面,那么它就是系统环境变量,所用用户登陆,在命令行输入java都会有java的帮助信息出来。而如果你在某个用户的变量下面新建一个变量,那么它就只对这个用户有用,当你以其他用户登陆时这个变量就和不存在一样。

这个问题在linux下面就相对好理解一些,系统变量都在/etc/profile文件里面,而用户的变量则在~/.bash_profile(如果用的是bash的话),每个用户的用户目录对其他用户不可见。假设有a,b,c三个用户,你在a的变量文件中写入语句在屏幕上述出a,在b的输出b,c的什么都不输出,系统文件输出sys,那么当你用a用户登陆时,输出a;用户b登陆输出b,用户c则输出sys.

补充: 
在windows下面用到少设置环境变量的时候很少,例如你想只用jdk而不想用jbuilder,那么你就得自己设置jdk的path,classpath等环境变量。 
在linux下,我说的的那些文件是系统自动生成的,我们可以手动更改他已达到我所说的效果。它们是在各自所属的用户登陆时自动运行的Windows下JAVA环境变量的设置祥解
Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析。 
JAVA_HOME指向的是JDK的安装路径,如x:\JDK_1.4.2,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK的安装路径可以选择任意磁盘目录,不过建议你放的目录层次浅一点,如果你放的目录很深,比如x:\XXXXXX\xxxxx\XXXX\xxxx\XXXX\xxxx\XXXX\xxx……
那么,下面的步骤和以后的应用你都要受累了,呵呵。设置方法: 
JAVA_HOME=x:\JDK_1.4.2 
PATH环境变量原来Windows里面就有,你只需修改一下,使他指向JDK的bin目录,这样你在控制台下面编译、执行程序时就不需要再键入一大串路径了。设置方法是保留原来的PATH的内容,并在其中加上%JAVA_HOME%\bin
(注,如果你对DOS批处理不了解,你可能不明白%%引起来的内容是什么意思;其实这里是引用上一步设定好的环境变量JAVA_HOME,你写成x:\JDK_1.4.2也是可以的;你可以打开一个控制台窗口,输入echo
%JAVA_HOME%来看一下你的设置结果) : 
PATH=%JAVA_HOME%\bin;%PATH% 
同样,%PATH%是引用以前你设置的PATH环境变量,你照抄以前的值就行了。 
CLASSPATH环境变量我放在最后面,是因为以后你出现的莫名其妙的怪问题80%以上都可能是由于CLASSPATH设置不对引起的,所以要加倍小心才行。 
CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar 
首先要注意的是最前面的".\;",如果你看不清,我给你念念——句点反斜杠分号。这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件——为什么这样搞,这是由于LINUX的安全机制引起的,LINUX用户很明白,WINDOWS用户就很难理解(因为WINDOWS默认的搜索顺序是先搜索当前目录的,再搜索系统目录的,再搜索PATH环境变量设定的)
,所以如果喜欢盘根究底的朋友不妨研究一下LINUX。 
为什么CLASSPATH后面指定了tools.jar这个具体文件?不指定行不行?显然不行,行的话我还能这么罗索嘛!:) 
这个是由java语言的import机制和jar机制决定的,你可以查资料解决。

呵呵,具体的设定方法: win2k\xp用户右键点击我的电脑->属性->高级->环境变量,修改下面系统变量那个框里的值就行了。 
win9x用户修改autoexec.bat文件,在其末尾加入: 
set JAVA_HOME=x:\JDK_1.4.2 
set PATH=%JAVA_HOME%\bin;%PATH% 
set CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar

右键点我的电脑-属性-高级-环境变量-新建环境变量(有path的话可以直接双击,改变量值就可以了):  变量名:path  变量值(路径):E:\java..(你安装java的名字)\bin

转载于:https://www.cnblogs.com/zhwl/p/3338294.html

环境变量和用户变量有什么区别?相关推荐

  1. windows系统中环境系统变量和用户变量的区别

    前言 -- 什么是环境变量 一般我们安装软件之后,为了能够在cmd命令行运行软件,一般都需要设置一下环境变量,否则就会出现找不相关命令的错误提示. 所谓环境变量,可以简单理解为就是给操作系统定义的一些 ...

  2. 用户变量和系统变量的区别_环境变量的用户变量与系统变量的区别

    Windows系统中有两种环境变量:用户变量和系统变量 1.环境变量没有区分大小写,例如path跟PATH是一样的 2.系统变量对所有用户有效 3.用户变量只对当前用户有效 4.用户变量与系统变量,名 ...

  3. 环境变量的用户变量与系统变量的区别

    Windows系统中有两种环境变量:用户变量和系统变量 1.环境变量没有区分大小写,例如path跟PATH是一样的 2.系统变量对所有用户有效 3.用户变量只对当前用户有效 4.用户变量与系统变量,名 ...

  4. java windows7 环境变量_Windows7环境变量中,系统变量与用户变量的优先级

    就我理解,不存在先后区别. 因为系统变量和用户变量完全不是一回事情,因此某个用户登录他的账户,并且启用了用户变量,那么它会先检查用户变量,如果没有检查到就检查系统变量,都没有则报错. 如果按照这样的理 ...

  5. 系统变量和用户变量的区别

    Windows系统中存在两种环境变量:用户变量和系统变量. 两种环境变量有什么区别和共同点? 1.两种环境变量中可以存在重名的变量: 2.两者都不区分变量名的大小写,如Path和PATH并没有区别: ...

  6. 环境变量:用户变量和系统变量

    #环境变量的含义 环境变量:一般是指系统和当前用户可以对操作环境的运行进行相应设置的字符串. 在操作系统中,环境变量是一个特定的对象,它包含了系统和当前用户执行应用程序所需的必要信息1,如:当前用户临 ...

  7. 环境变量、用户变量、系统变量

    环境变量.用户变量.系统变量 环境变量: 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等. 环境变量 ...

  8. 环境变量,系统变量与用户变量

    三者的关系 系统变量就是系统级别的变量,用户需要使用系统变量.如果系统变量被修改了,而任何系统用户都在用系统变量,因此每个系统用户都将受到影响.用户变量运行在系统变量之上的,每个用户拥有不同的用户变量 ...

  9. 环境变量的用户变量与系统变量的简单说明

    Windows系统中有两种环境变量:用户变量和系统变量 1.环境变量不区分大小写,例如path跟PATH是一样的 2.系统变量对所有用户有效而用户变量只对当前用户有效 3.用户变量与系统变量,名称是变 ...

  10. 什么是环境变量、系统变量、用户变量

    IT人常常会使用dos.终端.控制台等等,多多少少会遇到命令行界面.也就是这样的: 一.环境变量关系 首先,我来说一下他们之间的关系:环境变量只是一个总称,代表了系统变量和用户变量,因此我们说环境变量 ...

最新文章

  1. 4.Git基础-查看提交历史
  2. 两个不同网段的局域网如何互通_多台路由器,不同网段的设备之间如何互访?...
  3. 虎牙直播在微服务改造方面的实践和总结
  4. 在分类的意义上最稳定的物体是什么?
  5. 海量存储之十八–一致性和高可用专题
  6. 当检测到运动时如何自动打开门灯
  7. springboot jar中没有主清单属性_Spring Boot 常见错误及解决方法
  8. mac scp工具_Mac远程ssh连接乌班图并实现爬虫操作
  9. 创建一个路由节点struct fib_node
  10. 全国所有火车站站点信息
  11. 一个野生程序员的自我修养
  12. 虚拟机安装打印服务器,虚拟机怎么添加打印机
  13. 玩转IE之自动切换代理服务器
  14. python打印列表元素_Python打印输出数组中全部元素
  15. Linux Systemd服务
  16. NAT基本原理与私有IP
  17. stream流的常用方法
  18. android在framework层增加自己的service仿照GPS
  19. 内网安全,站在十年的路口
  20. 【华为OD机试真题 Python】加扰字符串

热门文章

  1. 老弟,Redis 6.0 除了多线程,别忘了这个牛逼特性!
  2. Java Web 开发必须掌握的三个技术:Token、Cookie、Session
  3. GFS架构启示 | Google File System
  4. JavaWeb-Spring中注解大全与详解
  5. 【Python】青少年蓝桥杯_每日一题_5.15_打印 99 乘法表
  6. Java JTextArea参数介绍
  7. Java数字反转(编程题)
  8. 蓝桥杯比赛常考算法_备战蓝桥--算法竞赛入门第一章总结
  9. 本地html自动跳转,HTML页面跳转的5种方法
  10. matlab计算方程fsolve,matlab中关于fsolve解非线性方程组的问题