好像有一百個關於如何改變你的Mac OS X/Linux環境中的路徑的問題....事情是我認爲實際上知道如何改變我的PATH變量,但它似乎是什麼導致它被覆蓋。我使用zsh並試圖讓Brew Doctor
不提醒我在user/local/bin之前有usr/bin。 我的〜/ .zprofile:
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
echo $PATH
並會在登錄我得到:
Last login: Fri Oct 17 15:10:30 on ttys000
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
但在登錄後運行$ PATH我得到:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
我直接登錄到zsh,但以防萬一我的.profile和.bash配置文件包含與我的.zprofile相同的代碼,並且我的/etc/paths.d目錄中沒有任何內容。 PATH是否有其他地方?我在這裏錯過了什麼?
導出一個環境變量中,你導出的過程隻影響子進程。一個新的登錄(我假設的終端)不是你剛設置該路徑的shell的子進程,因此沒有設置PATH。 – jrwren 2014-10-18 12:19:16
通常情況下,您不會完全重置個人文件中的PATH值;您只需將目錄添加到從系統配置繼承的值。 – chepner 2014-10-18 12:38:37
@jrwren設置變量的值會影響當前shell; 'export'只是導出一個名稱,以便子環境繼承該值;它不會爲環境帶來價值。 – chepner 2014-10-18 12:41:22