Mac下的paths.d目录神奇用法

时间:2021-08-02 09:29:27

首先,这个方法是通过PG的做法学到的,且这个方法只能在Mac下用,在Linux下还真没有这个方法。

这个paths.d的作用很简单,就是在里面创建一个文件,然后写上需要在全局命令行下用到的命令,直接配置一个目录即可。

示范:

比如我有个应用有一些有用的二进制包需要在全局下使用,通常以前的做法是做外链,一个软联接过去,但是在Mac下可以升级为这样的做法:

echo /opt/ImageMagick/bin|sudo tee /etc/paths.d/ImageMagick;bash -l;echo $PATH

最后的echo $PATH是为了输出是否生效。

原理:

其实在/etc/profile下会有一个path_helper的工具,这个工具就是会读取/etc/paths.d目录下的文件里面的路径,然后加载在环境变量$PTAH。

eval `/usr/libexec/path_helper -s`

换在Linux下如何操作:

没办法,只能low一点,在/etc/profile.d/目录下新建shell文件,然后使用:

export PATH=$PATH:/usr/lib/jvm/java--oracle/bin:/usr/lib/jvm/java--oracle/db/bin:/usr/lib/jvm/java--oracle/jre/bin

参考:

https://apple.stackexchange.com/questions/128897/how-to-use-etc-paths-d-to-add-executable-files-to-my-path