A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 史小兵 中级黑马   /  2012-9-15 20:25  /  1732 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我有点搞不明白系统变量和环境变量的区别,哪位大侠给帮忙解释一下!

5 个回复

倒序浏览
环境变量分为系统环境变量
例如你要用java,那么你把java的bin目录加入到path变量下面,那么它就是系统环境变量,所用用户登陆,在命令行输入java都会有java的帮助信息出来。而如果你在某个用户的变量下面新建一个变量,那么它就只对这个用户有用,当你以其他用户登陆时这个变量就和不存在一样和用户环境变量。
回复 使用道具 举报
环境变量由系统变量和用户变量组成
回复 使用道具 举报
环境变量分为系统环境变量和用户环境变量。
你所说的环境变量是指系统环境变量,对所有用户起作用
而用户环境变量只对当前用户起作用。

例如你要用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下,我说的的那些文件是系统自动生成的,我们可以手动更改他已达到我所说的效果。它们是在各自所属的用户登陆时自动运行的
回复 使用道具 举报
本帖最后由 Leo.Peng 于 2012-9-17 01:22 编辑

简单点说:
系统变量和用户变量都属于环境变量,只不过它们的作用范围不同而已:
1.系统变量是针对系统的所用用户都起作用的
2.用户变量是针对当前用户起作用的
以上是我个人的理解,希望对楼主有所帮助...{:soso_e100:}
回复 使用道具 举报
你的意思是path和classpath?
环境变量path的作用就是给指定命令搜索路径,在命令行中执行以命令的时候,
他就会到path所配置的路径里面看是否有这个路径,没有就执行不了这个路径,
例如:将jdk的安装目录配置到path下,在命令行执行javac  java命令就会生效。
classpath的作用就是给指定类搜索路径,例如我们编写的一个程序需要用到第三
方已经编写好的 类,我们就要设置classpath将第三方类的路径设置到classpath路径下,
当前目录"."也要配置到该变量中。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马