先给出解决方案
第一种
-
每打开一次终端都输入一次
source /etc/profile
,这样就可以加载配置文件,环境变量自然就有了
第二种
-
输入
vim ./bashrc
,在底部添加配置在/etc/profile里的配置,这样就可以无需使用source命令加载了 -
也可以在
./bashrc
底部添加source /etc/profile
,也能达到相同的效果,前提是配置文件(profile)里有相应的配置
如何进行配置
首先明白环境变量是什么
- 环境变量可以理解为整个系统的变量,这个变量配置了我们无论在什么地方都能够使用这个变量,你在环境变量里配置了java,那么无论在哪都能使用java相关的命令,所以为什么要先配置环境变量,其实就是为了方便
- 系统能够自动根据环境变量里的路径去寻找我们输入的命令
理解了环境变量,然后开始去配置环境,以java为例
|
# etc/profile |
|
|
|
export JAVA_HOME=/usr/local/programs/jdk1.8.0_231 |
|
export JRE_HOME=$JAVA_HOME/jre |
|
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH |
|
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH |
- JAVA_HOME就是给java的一个目录命名,方便以后进行开发,比如Tomcat就需要使用到这个JAVA_HOME这个环境变量,这个配置的只是标明jdk的目录,Windows上就是在环境变量里直接配置就行,path里配置的是编译器的位置
-
JRE_HOME就是jre的目录,如果java版本较高,是不用这个jre目录的,$JAVA_HOME就是取这个路径,可以直接写成
/usr/local/programs/jdk1.8.0_231/jre
,这么写是为了方便,Windows同理,可以写全路径也可以使用这种方式 -
CLASSPATH这个一般不需要配置这个,因为我们的开发环境基本都是做好java工程项目的配置的,这个只是说使用记事本啥的写一个程序,比如
.
这个路径就是当前目录,你在某个目录里写了一个java文件,发现能编译,但是运行会报错找不到主类,就是java命令没有根据当前目录去找,而是跑到了CALSSPATH里有的路径去找 - PATH这个就是和Windows里的path差不多了,这个路径就是编译器所在的位置,那些java命令全在这个路径里
- 至于export命令就是将配置环境变量的一个命令了
配置完成后使用 source /etc/profile
命令加载配置文件,使配置文件生效,至于怎么配置,理解了配置原理,需要什么配置什么
./bashrc
这是一个配置文件,与profile不同
- 这里作简要了解,profile这个配置文件是全局的,想要让这个配置文件生效,那就要使用source命令,但是当我们切换终端或者重启,相关配置文件就不行了,你开开启一个终端,什么都不做,这个配置文件你配置的环境变量是不生效的,source命令只在当前终端生效,切换一个就不行了
-
但是
./bashrc
这个文件就是你每打开一次终端,都会执行里面的相关配置