mac下怎樣刪除冗餘的環境變數?

終端輸入 echo $PATH

~/desktop/Ruby ? echo $PATH zhang@zt-mac

得到的結果如下

/Users/zhang/.rvm/gems/ruby-2.1.2/bin:/Users/zhang/.rvm/gems/ruby-2.1.2@global/bin:/Users/zhang/.rvm/rubies/ruby-2.1.2/bin:/usr/local/bin:/usr/local/bin:/Users/zhang/.rvm/gems/ruby-2.1.2/bin:/Users/zhang/.rvm/gems/ruby-2.1.2@global/bin:/Users/zhang/.rvm/rubies/ruby-2.1.2/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/Applications/Server.app/Contents/ServerRoot/usr/bin:/Applications/Server.app/Contents/ServerRoot/usr/sbin:/usr/local/git/bin:/usr/local/MacGPG2/bin:/Users/zhang/.rvm/bin:/Users/zhang/.rvm/bin:/Users/zhang/.rvm/bin

發現PATH中很多重複,應該是之前在bash profile中使用了 「PATH=$PATH:.....」 之類的語句,每生效一次都會把原先的又重複一遍。但是系統升級之後已經找不到原來的.bash_profile文件。

請問 1.怎樣去除冗餘的環境變數?2.怎樣讓PATH每次只增加原先沒有的?3.怎樣才能讓這些重複的項在PATH中只出現一次?

謝謝!!!


部分第三方App安裝後,會在 /private/etc/paths.d 這個目錄下單獨配置,把這個目錄裡面的內容清掉,就可以去掉一部分App殘留下來的。直接export修改掉的,回頭重啟後又回來了。把這樣子目錄下的清掉才可以。


問題:

1.怎樣去除冗餘的環境變數?

2.怎樣讓PATH每次只增加原先沒有的?

3.怎樣才能讓這些重複的項在PATH中只出現一次?

解答:

第一個問題:

進入終端 -&> vi ~/.bash_profile -&> 刪除你想要刪除的環境變數 -&> source ~/.bash_profile -&> 關閉終端再打開即可。

第二個問題和第三個問題其實不會出現的,出現的原因是因為你總是執行source ~/.bash_profile,你只要把終端關掉,再重新開啟一次,echo $PATH顯示就正常了。


1. touch ~/.bash_profile; open ~/.bash_profile

Hathaway

2. 3. 不知道。。


記下$PATH變數中冗餘路徑所處順序,例如:

/Users/zhang/.rvm/gems/ruby-2.1.2/bin:/Users/zhang/.rvm/gems/ruby-2.1.2@global/bin:/Users/zhang/.rvm/rubies/ruby-2.1.2/bin:/usr/local/bin:/usr/local/bin:

要刪除第三處的冗餘路徑:

export PATH=`echo $PATH | cut -d":" -f1,2,4-`

`cut`參數用法可參照:cut

你也可以把這條命令加在~/.bash_profile後進行

source ~/.bash_profile


推薦閱讀:

管理 iOS 項目的 Ruby 依賴
用Eclipse輕鬆地進行Ruby開發
Ruby 內聯私有方法與原理
Ruby 學習常用網址收集

TAG:Mac | Ruby | RubyonRails | Unix |