Windows部分
什么是环境变量?
- 我认为环境变量顾名思义,就是你所处的系统环境中设置的一个变量,这个变量的值一般来说是一个路径
- 在Windows系统中,环境变量分为(1)用户环境变量 (2)系统环境变量
- 用户环境变量只针对当前用户而言,而系统环境变量针对此计算机的所有用户
- 例如下面这个就是用户环境变量
- Windows系统中查看/添加环境变量的方式:右键“此电脑”-》右上方高级系统设置-》高级-》环境变量
- 很多人认为PATH就是环境变量,但其实PATH只是其中的一个环境变量,只不过PATH的值是多个路径,而其余的环境变量一般是单一路径
如何使用环境变量?
- 既然是一个变量,那么我们就应该可以输出这个变量的值
- 在Windows系统中,我们使用%variable_name%来显示环境变量的值
- 同样的,我们也可以使用%PATH%来查看%PATH%的值
环境变量有啥用?
- 大家有没有遇到过这样一个情况,就是当你想在命令行窗口中运行某个可执行文件时,会发现这个可执行文件明明在你的电脑上,但是系统却显示找不到该文件,这就是因为你没有配置环境变量
- 当你在你要执行的文件的目录下打开cmd时,你可以找到这个可执行文件并执行
- 但当你在其余目录时,系统并不会把所有目录都找一遍去执行你的文件
- 所以这时,你就需要告诉系统你的文件放在哪里了,这就需要你配置%PATH%
- 当你配置以后,输入命令时,系统会在%PATH%中一个个找,如果某个路径下有这个文件,那么就执行,否则报错
- 比如,你为啥可以通过Win+R且输入cmd就可以打开命令行窗口,那就是因为cmd.exe的可执行文件的目录在%PATH%这个环境变量中
套娃
- 接下来说一个套娃的事情
- 当你已经配置好一些环境变量后,你就可以在%PATH%中使用那个环境变量来代替一大串的路径,如下
- 这里就是在路径中使用已经配置好的环境变量来替代了一大串的路径,使得看起来变得清晰明了
- 注意,有一些环境变量是在表中找不到的,比如我找%SYSTEMROOT%就找了很久,并没有发现这个变量
Linux部分
和Windows有啥差别吗?
- 其实差别很小,可能就是GUI(图形界面)和命令行之间的区别
- 以及一些小方面的区别
来谈一谈吧
- 首先,Linux中的环境变量也是分为系统环境变量和用户环境变量的,甚至有只针对当前窗口的修改,下文再说
- 其次,Linux(尤其是工作环境,远程连接)没有GUI,那么我们只能在文件中进行配置,修改文件的内容以实现配置的目的
EXPORT
- 这是一个linux命令,既可以用来显示环境变量,也可以用来设置环境变量
- 顺带先说一下,Linux中使用环境变量的符号变成了$,而不是%了
- 这是显示当前的环境变量
- 这是设置环境变量
- 你也可以使用export命令来配置PATH这个环境变量
export PATH=/root/bin:$PATH
echo $PATH #/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
-
注意这里一定要跟上原来的PATH,否则就会被刷新掉
-
当前这种方式,在你关闭此窗口后,你配置的环境变量就消失了,所以这并不是我们想要的
来一个最推荐的方法吧
- 前面说过,我们希望不用每次都这么麻烦的去配置,且在linux中配置环境变量需要修改配置文件
- 我们可以在/etc/profile中配置环境变量,步骤如下
- 进入/etc/profile
- 定义一个变量,例如TOMCAT_HOME=/opt/tomcat(写在文件里)
- 输出成环境变量:export TOMCAT_HOME(写在文件里)
- 在终端里source etc/profile来更新配置文件使其生效(重启终端也可以)
- 步骤2和3也可以直接合起来写
更多详细用法请参照
- https://blog.csdn.net/huanby/article/details/123103191