Python——使用指定的shell执行shell命令

标签 python linux bash shell tcsh

所以我知道 python 可以使用 subprocess.call() 执行 shell 命令

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

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

最佳答案

显式调用 tcsh 来执行相应的 cmd,像这样(将 env 替换为您特定的 cmd arg 列表:

~/> cat tst.py
#!/usr/bin/python -u
import subprocess
subprocess.call(['/usr/bin/tcsh', '-c', 'env'])
~/> ./tst.py | grep ^DISPLAY
DISPLAY=:0
~/> 

关于Python——使用指定的shell执行shell命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30781396/

相关文章:

linux - 如何保持 git clone 更新?

用于用户文件的 Linux 数据仓库系统?

php -/usr/share 中 php 和 php5 目录的用途

python - 使用 re.findall() 替换所有匹配项

java - 与 Bash 相比,Java 中的语言环境区分大小写不一致

bash - 如何删除整个文件中的双行,省略每行中的前 n 个字符?

linux - 使用 sed 将文件中的特定行追加到另一个文件的末尾

python - 如何在 Python 中获取列表中元素的数量(列表的长度)?

python - django - 重用登录模板

python - 无法通过 Anaconda3 在终端中运行 Python 解释器