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 |