1

OS X Mountain Lionsource命令似乎只更新我的路徑,當我有添加某事在.bashrc或.bash_profile。如果我刪除無論從這些文件的路徑,然後使用source更新,刪除的路徑仍然存在。一個例子...使用源更新bash環境變量

添加到我的PATH.bash_profile

terminal

> echo $PATH 
> "/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin" 

添加到路徑.bash_profile

export PATH=$PATH:~/Desktop 

早在terminal

> source .bash_profile 
> echo $PATH 
> "/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/Users/myname/Desktop" 

所以,所有這些都按預期進行;我的Desktop已被添加到我的PATH。現在,當我從.bash_profile刪除以前添加的路徑,離開這個文件空

> source .bash_profile 
> echo $PATH 
> "/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/Users/myname/Desktop" 

正如你所看到的「刪除」路徑'/Users/myname/Desktop'依然存在。我誤解了什麼 source呢?我認爲這是相當於打開一個新的終端窗口(這不會返回 結果我期待 - 即沒有桌面路徑)

回答

0

當您使用source .bash_profile第一次,從.bash_profile文件,因爲export PATH=$PATH:~/Desktop線,你的PATH被重新分配將舊PATH添加到~/Desktop目錄中。

當您第二次使用source .bash_profile時,PATH不再被重新分配,因爲您刪除了export PATH=$PATH:~/Desktop行。所以,這次PATH的值保持不變(像以前一樣)。

如果您希望PATH的值返回到其初始值,您必須重新啓動終端(當前shell)。或者你可以輸入你的/etc/environment文件:

source /etc/environment