目录介绍
- 什么是环境变量
- 环境变量的使用场景
- 如何添加环境变量
- MAC 终端编辑完成后如何保存
- 什么是环境变量
百度百科的解释:环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。
通俗的解释:
其实就是程序命令的快捷方式,如果没有环境变量,我们必须找到命令所在的目录,然后再执行命令。如果将命令添加到环境变量,就可以在任意位置执行命令,因为操作系统在执行命令前会先到环境变量里搜一下,如果搜到,就直接定位到命令所在目录,然后执行命令。
- 环境变量的使用场景
比如我们要再系统的任意目录下执行mysql命令,我们可以在~/.bash_profile 做如下设置
这样就可以在命令行直接执行 mysql -u root -p 来进入到mysql环境了。
- 如何添加环境变量
查看所有的环境变量,使用env
查看单个,可以使用echo:如echo $JAVA_HOME
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中添加环境变量。
以下演示在.bash_profile 中添加环境变量
1.输入vim ./.bash_profile 确定enter,然后就打开了bash_profile文件
2.这里我添加关于go语言的环境变量
因为我本地的GOPATH的实际位置在 /Users/fenger/work/go目录,所以设置如下
export GOPATH= /Users/fenger/work/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN
当然也可以简化设置,效果是一样的
export GOBIN=/Users/fenger/work/go/bin
export PATH=$PATH:$GOBIN
或者
export PATH=$PATH:/Users/fenger/work/go/bin
解释:
首先export + 自定义名字(GOBIN) = 路径名称,然后使用export PATH=
P
A
T
H
:
PATH:
PATH:+自定义名字(GOBIN)。(在一个PATH下添加多个环境变量后面用:号把路径拼接下来,就像我们在windows上那样,我这里就是这样做的)这样一个环境变量就添加上了,然后按esc退出编辑状态,使用:wq退出。(有时会因为权限问题提示:E45: ‘readonly’ option is set (add ! to override)错误,这时使用:wq!强制保存退出就ok)
注意:先定义路径(GOBIN),后用path引入(PATH),是从上到下的顺序,要不然就读不出。
另外一点就是在bash_profile文件中我最后添加了$PATH:这里通过它引用了一些系统基础的命令,如我们刚刚使用vim,切记一定要加上否则连系统基础命令都会报command not found的。
3.使用source ./.bash_profile使刚刚修改的文件生效。
4.这个时候我们就可以使用echo
P
A
T
H
(
e
c
h
o
+
自
定
义
名
字
(
PATH(echo+自定义名字(
PATH(echo+自定义名字(GOPATH)查看单独设置的某一条环境变量)就可以看到刚刚添加的路径了.
- MAC 终端编辑完成后如何保存
如果是vi,则:Esc 退出编辑模式,输入以下命令:
:wq 保存后退出vi,若为 :wq! 则为强制储存后退出(常用)
:w 保存但不退出(常用)
:w! 若文件属性为『只读』时,强制写入该档案
:q 离开 vi (常用)
:q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
:e! 将档案还原到最原始的状态!
linux /usr/bin 和/usr/local/bin 区别
/usr/bin 系统预装的一些可执行程序,随系统升级会改变
/usr/local/bin 用户安装的可执行程序,不受系统升级影响,用户编译安装软件时,一般放到/usr/local目录下