次の内容のファイル(myenv.sh
)があります
export MYVAR="HELLO"
そして、私は私のプログラムを持っています(myhugeprogram.py
):
#!/usr/bin/env python
import os
print os.environ['MYVAR']
実行可能ファイル:chmod 755 myhugeprogram.py
今、私は自分の環境を調達しています:source myenv.sh
そして私のプログラムを実行します:
./myhugeprogram.py
HELLO
予想通り。今私はSSH経由で非対話的にそれを実行します:
user1@host1:~$ ssh user2@host2 ./myhugeprogram.py
Traceback (most recent call last):
File "./myhugeprogram.py", line 3, in <module>
print os.environ['MYVAR']
File "/usr/lib/python2.5/UserDict.py", line 22, in __getitem__
raise KeyError(key)
KeyError: 'MYVAR'
私は調達していないので、これは正常myenv.sh
です。今の質問:
SSH経由で非対話的に実行しているときに、Pythonスクリプトを実行する前に、いくつかの環境変数を設定するBashファイルを入手するにはどうすればよいですか?