黑马程序员技术交流社区

标题: 系统变量和环境变量的区别? [打印本页]

作者: 史小兵    时间: 2012-9-15 20:25
标题: 系统变量和环境变量的区别?
我有点搞不明白系统变量和环境变量的区别,哪位大侠给帮忙解释一下!
作者: 田旭阳    时间: 2012-9-15 20:34
环境变量分为系统环境变量
例如你要用java,那么你把java的bin目录加入到path变量下面,那么它就是系统环境变量,所用用户登陆,在命令行输入java都会有java的帮助信息出来。而如果你在某个用户的变量下面新建一个变量,那么它就只对这个用户有用,当你以其他用户登陆时这个变量就和不存在一样和用户环境变量。

作者: 柏占肖    时间: 2012-9-15 23:43
环境变量由系统变量和用户变量组成
作者: 李健_8    时间: 2012-9-17 00:47
环境变量分为系统环境变量和用户环境变量。
你所说的环境变量是指系统环境变量,对所有用户起作用
而用户环境变量只对当前用户起作用。

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

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2