2012-02-17 16 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を使用してください。そうすれば、コマンドは現在のシェル(環境)で実行されます。

2

シェルでコマンドを実行すると、シェルはサブプロセス(子プロセス)を作成します。サブプロセスで定義または変更されたすべての環境変数は、親プロセスには失われます。

ただし、sourceスクリプトの場合は、強制的にスクリプトを現在のプロセスで実行します。つまり、実行したスクリプト内の環境変数は失われません。

0

これらの変数をすべてのセッションに設定したい場合は、次のコマンドを実行してファイル内の行を貼り付けることで、同じコマンドを.bashrcファイルに配置することができます。あなたが現在実行されているすべての端末で

のvim〜/ .bashrcの

と実行

ソース〜/ .bashrcの

。新しい端末を起動すると、自動的にディレクトリがあなたのパスに追加されます。

関連する問題