一、简介
1.概念(非程序员跳过)
环境变量相当于程序的一些固定的变量,由于某些程序会取固定的环境变量,所以需要正确设置对应的环境变量才能使用这些程序。
2.path变量
不管是linux还是windows系统,执行程序都要有一个入口,比如windows常见的exe、linux的sh(批处理文件),但有时候执行命令时却需要到这个程序的目录才能启动它(cmd、regedit、java等程序),这时候path变量起作用了。
系统执行命令时,会先去path环境变量的目录中找对应的可执行文件(如:exe、sh等)找到就执行它,找不到的话会提示找不到xxx命令
![编辑path变量](https://img-blog.csdnimg.cn/img_convert/f31452e5ff0aba62a60a060f35118448.png
3.系统变量与用户变量的区别
系统变量是整个系统生效的环境变量,会对所有用户生效
用户变量则是对本用户(windows、linux的登录用户)生效,对其他用户无效
使用时根据自己的需求来设置即可,若不懂的话设置系统变量吧,会方便些!
4.作用
- 设置环境变量(path变量)可以让我们更方便的调用程序。
比如java开发时,第一课就是设置环境变量,设置完成之后,就可以在命令行调用
java
和javac
命令。若有其他命令也想进行简便的调用,就可以把它所在的目录设置到环境变量的path中即可。
- 某些程序需要环境变量支持
JAVA_HOME、CLASS_PATH等变量则是为了支持某些程序,需要设置对应的环境变量
二、修改环境变量
1 windows设置环境变量
1.1 进入设置环境变量页面
我的电脑(右键)选择【属性】->高级系统设置->高级(标签)->环境变量
1.2 系统变量设置
在系统变量栏,设置环境变量即可,设置完成后点击确定。
1.3 用户变量设置
在系统变量栏,设置环境变量即可,设置完成后点击确定。
1.4 常用语法
%VAR_NAME% :代替VAR_NAME环境变量的路径
例如图中的JAVA_HOME,代替的就是D:\Java\jdk6
. (英文句号):代表当前路径,即执行的时候会把当前路径作为其中一个参数值
例如在
C:\WINDOS\system32
执行cmd
,若path变量中有.
,不在Path中添加C:\WINDOS\system32
也可以执行,因为.
将本目录路径作为Path变量了。
; (英文分号):多个值的分隔符
例如Path变量有很多个值,就需要在各个值之间加上
;
作为分隔符
2 linux设置环境变量
2.1 系统变量设置
$ vi /etc/profile
在后面追加形如:
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export PATH
2.2 用户变量设置
$ vi 用户家目录/.bash_profile
在后面追加形如:
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export PATH
root的家目录在/root
其他用户的家目录在/home/用户名
2.3 常用语法
$VAR_NAME :代替VAR_NAME环境变量的路径
:(英文冒号):多个值的分隔符
例如Path变量有很多个值,就需要在各个值之间加上
:
作为分隔符
export :把此环境变量注册
2.4 注意事项
- 设置完成之后环境变量并不能马上生效,可以重启机器
- 不想重启的话可以再命令行中输入
$ source /etc/profile #环境变量文件,可以source家目录的文件
附:Java环境变量案例(Path变量)
1 我本机的java命令所在的目录:
2 直接执行命令
3 使用全路径执行命令:
4 将java的bin目录配置到环境变量中(因为java命令在bin中):
5 直接运行java命令(会在Path中遍历查找):