版权声明:写文章辛苦,请不要复制粘贴,如果要,请注明来处 https://blog.csdn.net/u012627861/article/details/84584160
理解环境变量(仅供参考)
环境变量在系统启动时进行读取和加载,或者说是在命令行工具启动时,因为Mac的bash,Windows的cmd.exe在启动时都会加载环境变量。
当我们执行命令时,系统会从名为PATH的环境变量中获取目录集。然后从这些目录中查找并执行程序。例如输入vim xxx.txt
,系统则从/usr/bin中找到vim程序并启动。例如我们输入ls
,系统则从/bin中找到ls程序并启动。Linux默认的系统变量有/usr/local/bin
、/usr/bin
、/bin
、/usr/sbin
、/sbin
,而我们常用的命令程序分布在这些目录下,例如:
- ls, pwd, mv, rm等放置在/bin中
- man, grep,vim等放置在/usr/bin中
- brew, wget等放置在/usr/local/bin中
至于什么目录下放置什么类型的命令,不做深入的探究。
修改环境变量(仅供参考)
环境变量配置在指定的系统文件中,系统启动时将加载这些文件,经过实践,发现以下文件会被加载:
/etc/profile(系统)
~/.profile(当前用户下有效)
~/.bash_profile(当前用户下有效)
在这些文件中,优先级从低到高,后者覆盖前者,如下:
- 如果1,2,3都存在变量V分别等于ABC,那么最终V为C。
- 如果1,2存在变量V分别等于AB,那么最终V为B。
- 如果2,3存在变量V分别等于BC,那么最终V为C。
既然系统启动时就会自动加载这些文件导出到环境变量中,那么我们就可以直接修改这些文件内容来达到实现修改环境变量的目的。
通常所说的修改环境变量,说的是修改PATH变量,例如在安装JDK,Maven之后需要修改环境变量,说的是需要将JDK或Maven安装后的mvn或java,javac等程序所在的目录添加到PATH变量中去。
例:JAVA_HOME的添加
假设我们直接将JAVA_HOME配置在优先级最高的~/.bash_profile中,那么步骤如下:
- 打开~/.bash_profile
vi ~/.bash_profile
- 添加JAVA_HOME变量并修改PATH变量
export JAVA_HOME=/xxx/xxx/jdk-1.8.0/
export PATH=$PATH:$JAVA_HOME/bin
- 保存后手动加载环境配置
为了让环境变量立马生效,需要通过source命令加载环境变量,如下:
source ~/.bash_profile
查看环境变量
有两种方式,如下:
- 执行命令
env
,将列出所有环境变量 - 执行命令
echo $PATH
,输出PATH变量值
(完)