首页 > 解决方案 > 我可以在当前 shell 中从 python 脚本运行 shell 命令吗

问题描述

我有一个 python 脚本,它调用两个不同的 shell 脚本。第一个脚本设置了第二个脚本所需的一些环境变量。python代码具有以下结构:

import subprocess
subprocess.call(["bash", "a.sh"]) #a.sh sets env_var1
subprocess.call(["bash", "b.sh"]) #b.sh reads env_var1

因为脚本a.shb.sh运行在不同的shell中,上面的代码没有做必要。我想知道我们可以在当前shell本身中从python执行这些shell脚本吗

标签: pythonshell

解决方案


您可以使用此行在 python 中向您的 shell 运行命令 os.system('command to run here')

在您的情况下,它将类似于:

import os

os.system('./a.sh')
os.system('./b.sh')

推荐阅读