之前的时候一直用win,环境变量的配置直接图形化,简单易上手,几乎0难度。虽然偶尔用linux也会去配置环境变量,但不懂那些命令是干什么的,每次都是网上搜,然后直接复制命令。直到最近,我开始用mac os,配置环境变量的时候出了各种问题,也不得不投入一些时间去学习,也发现了linux确实有意思,值得我们投入时间去学(看过1/3鸟哥linux,没坚持下去),现在记录一下
shell
shell是什么,直接翻译就是壳子,对应的就是core,core用来实现os核心功能,控制硬件,像大机器里的齿轮,电机。shell就像一个机器壳子,上面有按钮,通过它你可以控制整台机器。
环境变量
在win中,我们打开一个软件的时候,都是直接点了桌面上的快捷方式,然后就启动了软件。但我相信有些人会有经历,我们下载了软件的压缩包解压使用,这个时候桌面就没有快捷方式,只能从安装目录中去找exe
上面这个过程就相当于shell中的全路径使用某个命令,和直接使用使用命令
全路径一定是可以用,直接使用某个命令是基于你给他配置了环境变量
怎么配置环境变量
配置环境变量其实有很多种,linux多用户系统,有全局的配置和用户的配置
咱们使用linux不推荐用root,工作多数时间也没有权利使用root,我们就配置用户的环境变量就完全够用。
一般我们常用的环境变量配置方式,在家目录下编辑一个文件 .bash_profile
这是bash的一个配置文件,bash在启动的时候会执行里面的内容,所以我们将环境变量写在了其中,然后source .bash_profile
使其生效,然后在当前shell环境中就可以使用这些环境变量配置了
配置的大致格式为
export NAME=/users/abc/d/e
export PATH=$PATH:$NAME:xxx:xxx
稍微解释一下这都是干什么了
export是linux的命令,可以用于指定环境变量
NAME是环境变量的名字,就是你需要的环境名字,不同情况这个要写的不同,你也可乱写,就是一个目录别名(但强烈不建议)用行业约定或意义化的词就可以
重点在最后一行这里
我们export一个新的PATH,只在当前shell有效,这个PATH的内容是$PATH:$NAME:xxx:xxx
$
这个符号在linux中的用途很多,此处是用来取变量的值,
我们将系统的PATH取出了并且加上 :$NAME:xxx:xxx
PATH的内容是一堆目录,:
是用来分割区别多个目录的,到这里你基本就能看出来了,就是新建了一个临时PATH在系统PATH追加了我们的配置
bash是gun的项目,shell软件的一种,linux中默认是这个
mac用户在配置用上述操作的时候会发现一个问题
当开一个新的终端的时候,环境变量失效了,这个主要原因可能是你配置的bash_profile,这个是bash的配置,但是mac终端默认可能是zsh,zsh启动不会读bash_profile,它会读.zshrc
,解决方法也挺清晰的
1.把环境变量写到.zshrc
中
2.修改终端使用bash
3.依旧配置bash_profile在.zshrc
中,写入source ~/.bash_profile