首先,这个方法是通过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
参考: