2017-06-30 7 views
0

複数の環境をロードするbash関数myEnvがあり、いくつかのモジュールも使用しています。例えば、私の環境を設定するために、私は環境を変更するためにtclモジュールからbash関数を呼び出す

#!/usr/bin/env bash 
myEnv program1 
myEnv program2 
module load program3 
module load program4 

を行うことができますし、私は1つのモジュールでは、このすべての世話をしたいと思います。残念ながら、tclは、myEnvを実行して環境を変更することはできません。 myEnvの仕組みを再構築する以外に、からtclに電話する方法はありますか?moduleこれを処理しますか?

私はちょうどmodule load programs1234を行うと、2 myEnv sおよび2 module load秒の世話をすることができるように、私はprograms1234、たとえば、モジュールを書きたいと思います。

答えて

0

環境変数を設定するには、グローバルenv変数で十分ですか?たとえば:PROGRAM3はENV(FOO)およびenv(BAR)をプリントアウトするのであれば

set env(FOO) "Test variable foo" 
set env(BAR) "One more variable" 
... 
# Execute a tcl program in the env configured above. 
exec [info nameofexecutable] -f program3 

たとえば、あなたはこれらの値が表示されます。

puts $env(FOO) 
puts $env(BAR) 
関連する問題