环境变量PATH

阅读 1.9k
标签: Linux

环境变量,是指在操作系统中用来指定操作系统运行环境的一些参数。环境变量有多个,而PATH变量是其中非常重要的一个,先来看看它。本篇以MacOS来进行说明。

PATH的用途

有时我们的电脑上新安装了一些应用,但是在控制台执行时,却提示command not found,明明已经安装成功了,但是为什么提示找不到呢?

这是因为当我们在执行一个命令的时候,系统除了在当前目录下面寻找此命令外,还会按照PATH的设置去每个PATH定义的目录下查找这个命令,如果PATH的设置有问题,那么就会导致该命令找不到,从而无法执行。来看看当前用户的PATH路径:

echo $PATH

会在控制台上打印如下:

/Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk/Contents/home:
/usr/local/mongoDB/bin:
/Library/Frameworks/Python.framework/Versions/3.9/bin:
/usr/local/bin:
/usr/bin:
/bin:
/usr/sbin:
/sbin

上面是我本机电脑上设置的PATH环境变量的值。也就是说,当执行一个命令时,会从以上目录中去寻找该命令。注意:各个变量之间是以英文冒号:来隔开的。

环境变量的加载顺序

MacOS 一般使用bash作为默认shell,MacOS的环境变量,加载顺序为:

  • /etc/profile 
  • /etc/paths 
  • ~/.bash_profile 
其中,/etc/profile和/etc/paths为是系统级别的,系统启动就会加载,一般不建议去修改。后面几个都是用户级别的,最常用的是~/.bash_profile这个文件,我们一般在这个文件中设置相关的环境变量。这样做有几个好处,其中最重要的是,即便设置出现错误,也不会影响其他用户的正常使用。
注意:MacOS中是~/.bash_profile,在Linux中是 ~/.bashrc

如何设置PATH

既然知道了环境变量的加载顺序,也知道了在哪个文件中进行设置,接下来,我们来看看如何设置。设置的方法其实很简单,各个环境PATH值之间用英文冒号:隔开,比如:
export PATH="/usr/local/mongoDB/bin:${PATH}"

比如,要添加一个MongoDB的PATH路径,只需要在原有的PATH值的前面加上MongoDB的安装目录即可,两者之间用冒号隔开。

export关键字的作用是将自定义的变量转换为环境变量,上面代码中,是将~/.bash_profile文件中的PATH变量,重新导出来变成新的环境变量,这样,最后获得的PATH变量中就包含了MongoDB的执行路径,就可以在控制台中调用MongoDB中的命令了。

最后,要注意一点,设置完成后,需要重启才能生效,若需要立即生效,需要执行:

 source .bash_profile

这样,最新的设置就会立刻生效了。

最后编辑于: 2022-06-28

评论(0条)

(必填)
复制成功