环境变量-烦死我了这个破环境变量

不知道看了多少遍,到最后也没明白到底为什么要配置这么个破玩意。而且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编程的知识才能系统了解这部分知识。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容