所以我知道python可以使用subprocess.call()
执行shell命令但是我通常使用tcsh,并且我有一个.tcshrc来加载很多环境变量以使我的shell变得舒适。
如何让我的subprocess.call()意识到 - 在tcsh中执行我的命令,加载我的.tcshrc文件?
答案 0 :(得分:1)
显式调用tcsh来执行相应的cmd,如下所示(用您的特定cmd arg列表替换env
:
~/> cat tst.py
#!/usr/bin/python -u
import subprocess
subprocess.call(['/usr/bin/tcsh', '-c', 'env'])
~/> ./tst.py | grep ^DISPLAY
DISPLAY=:0
~/>