2012-02-17 200 views
0

我需要在Ubuntu中設置一些環境變量。我這樣做,它的工作原理:使用腳本導出環境變量

export PATH="/home/vagrant/ns-allinone-2.35/bin:/home/vagrant/ns-allinone-2.35/tcl8.5.10/unix:/home/vagrant/ns-allinone-2.35/tk8.5.10/unix:$PATH" 
export LD_LIBRARY_PATH="/home/vagrant/ns-allinone-2.35/otcl-1.14:/home/vagrant/ns-allinone-2.35/lib" 
export TCL_LIBRARY="/home/vagrant/ns-allinone-2.35/tcl8.5.10/library" 

但我謹在腳本envexport.sh同樣的事情,執行它,環境變量沒有得到設置。

我哪裏錯了?如何做到這一點?

謝謝。

回答

4

如果您只是運行該腳本,腳本完成時會損壞環境變量。使用. envexport.sh。這樣,命令在當前shell(環境)中執行。

2

當您在shell中運行命令時,shell會創建一個子進程(子進程)。在子流程中定義或更改的所有環境變量都將丟失給父流程。

但是,如果您使用source腳本,則會強制腳本在當前進程中運行。這意味着您運行的腳本中的環境變量不會丟失。

0

有一點可以幫助的是,如果您希望爲所有會話設置這些變量,則可以通過運行以下命令並粘貼文件中的行,將相同的命令放入.bashrc文件中。

的vim的〜/ .bashrc

和運行

源的〜/ .bashrc

在您當前正在運行的任何終端

。如果你啓動了任何新的終端,他們會自動將你的目錄添加到你的路徑中。