美文网首页技术文档
如何去掉mac的PATH环境变量中的“顽固分子”?

如何去掉mac的PATH环境变量中的“顽固分子”?

作者: 唐岩岩 | 来源:发表于2017-10-16 22:34 被阅读0次

    查看系统PATH环境变量,发现了多余的环境变量,遍寻网络实现未果。

    echo $PATH

    /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:

    /usr/local/go/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands

    以上粗体部分属于已经变更了环境而不存在的路径,如何去掉?

    按照网上了解的关于mac的环境变量执行顺序分别查找如下文件:

    /etc/profile

    /etc/paths

    ~/.bash_profile

    ~/.bash_login

    ~/.profile

    ~/.bashrc

    通过查询以上文件,都未发现粗体部分的路径,那么意味着这些配置是其他应用安装的时候配置的,只有找到这个配置才能够去掉该路径。

    找寻最终的结果发现在如下路径下也存在着profile和paths文件。

    /private/etc/profile

    /private/etc/paths

    但是查询这两文件依然没有找到粗体中的路径,却在/private/etc/下发现了paths.d目录,而在目录中包含两个配置文件,查看配置文件就是以上粗体路径,将这俩配置文件删掉即可。

    补充一下两点:

    1. /etc是一个软连接,指向的就是/private/etc目录,所以说/private/etc/和/etc/是同一个事情

    2. 如果查看/etc/profile文件,标准的就是如下几行:

    # System-wide .profile for sh(1)

    if [ -x /usr/libexec/path_helper ]; then

    eval `/usr/libexec/path_helper -s`

    fi

    if [ "${BASH-no}" != "no" ]; then

    [ -r /etc/bashrc ] && . /etc/bashrc

    fi

    复制代码

    细心点可以发现第4行执行一个程序叫path_helper,这个程序干什么的呢?

    man patch_helper就明白了,它就是构造PATH环境变量的,而它读取的目录就是/etc/paths.d and /etc/manpaths.d之中的环境变量设置文件。其中每个文件都是一个程序自己的所需环境变量的路径。

    转自:https://www.macx.cn/thread-2196358-1-1.html

    相关文章

      网友评论

        本文标题:如何去掉mac的PATH环境变量中的“顽固分子”?

        本文链接:https://www.haomeiwen.com/subject/lgzluxtx.html