【发布时间】:2019-10-12 17:04:36
【问题描述】:
我有一个包含环境变量的源文件(很少有环境变量也是基于条件的)。 源文件就像(文件名:global_setup)
if( -f /tools/tool/bin) then
setenv SHELL /bin/csh
endif
setenv LICENCE_FILE 2457@abc
setenv ...........
我想使用 python 脚本来获取这个文件。代码是这样的:
import subprocess
import os
if os.path.isfile('global_setup'):
subprocess.call(['/bin/csh', '-c', 'source ~/global_setup'], shell=True)
else:
print("file not found");
但这不起作用。显示错误为:
/home/global_setup:第 53 行:语法错误:文件意外结束
另外,我尝试通过将文件格式更改为 Unix 来消除此 EOF 错误。 即使它有效,我怀疑设置是否会在其他终端中完成,因为我在 python 中使用 subprocess.call()。
【问题讨论】:
标签: python python-3.x bash sh csh