如何去掉mac的PATH環境變量中的“頑固分子”?

轉載自 https://www.jianshu.com/p/101f64e94fa6

 

查看系統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.jianshu.com/p/101f64e94fa6
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

 

More

mac 環境變量 多了 哪裏刪除
Mac OS增刪環境變量 
mac下怎樣刪除冗餘的環境變量?
Mac OS X 如何刪除已添加的環境變量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章