轉載自 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 如何刪除已添加的環境變量