Python - 使用指定shell执行shell命令

时间:2015-06-11 12:54:20

标签: python linux bash shell tcsh

所以我知道python可以使用subprocess.call()

执行shell命令

但是我通常使用tcsh,并且我有一个.tcshrc来加载很多环境变量以使我的shell变得舒适。

如何让我的subprocess.call()意识到 - 在tcsh中执行我的命令,加载我的.tcshrc文件?

1 个答案:

答案 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
~/>