我有一个文件(myenv.sh
)具有以下内容Python和环境
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运行非交互:
[email protected]:~$ ssh [email protected] ./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文件?