不知道看了多少遍,到最后也没明白到底为什么要配置这么个破玩意。而且MAC各种关联出错,强忍住砸了它的冲动。
我们为什么要配置环境变量
环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。
我们通过一个具体的应用场景来理解:毫无疑问,想要运行一个软件,我们必须知道其启动程序程序的位置,同样的在命令行输入一个命令,计算机需要知道命令所在位置,否则会提示没有此命令。
也就是说要让命令行找到那个程序安装的位置。
Path环境变量,也是我们接触最为常见的环境变量,path环境变量的作用就是告诉系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到哪些目录下去寻找。而我们通常情况下配置的path变量,就是这个目录的完整路径。
这样,我们就很容易明白了,愿来path环境变量是为了方便我们在运行程序时的使用的,我们都知道,在使用doc来运行程序或打开某个文件时,我们必须键入某程序的完整路径,才能运行它,而只要我们配置了环境变量,那么我们就可以省略这一步,系统会自动到我们事先设置好的目录寻找对应的程序运行。方便人们的使用。
PATH环境变量,也是我们接触最为常见的环境变量,PATH环境变量的作用就是告诉系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到哪些目录下去寻找。而我们通常情况下配置的PATH变量,就是这个目录的完整路径。
这样,我们就很容易明白了,愿来PATH环境变量是为了方便我们在运行程序时的使用的,我们都知道,在使用doc来运行程序或打开某个文件时,我们必须键入某程序的完整路径,才能运行它,而只要我们配置了环境变量,那么我们就可以省略这一步,系统会自动到我们事先设置好的目录寻找对应的程序运行。方便人们的使用。
Mac系统下的环境变量
>a. /etc/profile
>b. /etc/paths
>c. ~/.bash_profile
>d. ~/.bash_login
>e. ~/.profile
>f. ~/.bashrc
其中a和b是系统级别的,系统启动就会加载,其余是用户接别的。c,d,e按照从前往后的顺序读取,如果c文件存在,则后面的几个文件就会被忽略不读了,以此类推。~/.bashrc没有上述规则,它是bash shell打开的时候载入的。这里建议在c中添加环境变量,以下也是以在c中添加环境变量来演示的:
添加环境变量:
1. 找到那个修改它文件
输入vim ./.bash_profile 确定enter,然后就打开了bash_profile文件
看到了上图,我已经配置过的一些环境变量,以添加maven的环境变量为例:
export MAVEN_HOME=/usr/local/apache-maven-3.6.0
export PATH=$PATH:$MAVEN_HOME
···
2. 进入之后如何操作
点击i建进入编辑状态
首先 export 自定义名字(MAVEN_HOME) = 路径名称
然后 export PATH=$PATH:$+自定义名字(MAVEN_HOME)
这玩意需要两个东西,举个例子:
export MAVEN_HOME = 找到程序的所在位置
export PATH=$PATH:$MAVEN_HOME:更下层的目录
(在一个PATH下添加多个环境变量后面用:号把路径拼接下来,就像我们在windows上那样,我这里就是这样做的)
这样一个环境变量就添加上了,然后按esc退出编辑状态,使用:wq退出。(有时会因为权限问题提示:E45: 'readonly' option is set (add ! to override)错误,这时使用:wq!强制保存退出就ok)
注意:先定义路径(MAVEN_HOME),后用path引入(PATH),是从上到下的顺序,要不然就读不出。
另外一点就是在bash_profile图中我最后添加了$PATH:这里通过它引用了一些系统基础的命令,如我们刚刚使用vim,切记一定要加上否则连系统基础命令都会报command not found的(我刚刚弄的时候忘了加,整得一脸懵逼)
···
3. 使用source ./.bash_profile使刚刚修改的文件生效。
4. 这个时候我们就可以使用echo $PATH(echo+自定义名字(MAVEN_HOME)查看单独设置的某一条环境变量)就可以看到刚刚添加的路径了,我常使用--+version的方式查看刚刚添加的是否神效比如上面添加的maven(直接使用mvn version):
MAC 终端编辑完成后如何保存:
如果是vi,则:Esc 退出编辑模式,输入以下命令:
:wq保存后退出vi,若为 :wq! 则为强制储存后退出(常用)
:w 保存但不退出(常用)
:w! 若文件属性为『只读』时,强制写入该档案
:q 离开 vi (常用)
:q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
:e! 将档案还原到最原始的状态!
另外 B站 上配置环境变量的视频讲的还是听清楚的。我觉得下次需要配置环境变量还是搜索视频比较好。貌似要学习操作系统,Linux系统和Shell编程的知识才能系统了解这部分知识。