我有一个程序,必须使用setenv设置环境变量,但是却收到一条错误消息,说"/bin/sh: setenv command not found"
但setenv是内置的shell命令,为什么它不能与python子进程一起使用。谁能帮我这个
我写的代码是:
def ansaunrel(self):
apat = ['setenv ',' ANSA_SRV ','srtia027,srtia028,srtia004']
subprocess.Popen(apat,shell=True)
ansrun='/share/ansa/NOT_RELEASED/14.2.2/ansa64.sh'
subprocess.Popen(ansrun,shell=True)
设置env变量后,我必须运行一个shell程序,但是由于environ变量的设置不正确,因此该程序无法启动。那我该怎么做
最佳答案
setenv是csh内置而不是bash内置;如果要运行setenv,则使用错误的Shell。
但是,您似乎不想为要执行的操作运行setenv。如果要为子进程设置环境,请使用env
参数Popen:
env = dict(os.environ)
env['ANSA_SRV'] = 'srtia027,srtia028,srtia004'
subprocess.Popen(ansrun, shell=True, env=env)
关于python - 在python子进程中使用setenv,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27308167/