将变量从shell脚本管道化到Python

时间:2017-08-11 19:15:07

标签: python bash subprocess

我有一个名为" script.sh的脚本,"其内容是:

#!/bin/sh
export A=5

我想从 python(实际上是iPython)中执行此脚本并阅读变量' A'。

import os
import subprocess

subprocess.call('./script.sh')
A=os.environ['A']

不幸的是,这似乎不起作用,给我一个无法找到A的错误。如果我理解正确,则subprocess实际上是在与os.environ查询的shell不同的shell中运行。但是为什么我不能运行类似的东西:

subprocess.call('echo $A')

我应该改变什么来使这项工作?一般来说,我只想获得" A"的价值。从脚本中,最好通过某种形式的shell执行脚本(实际脚本很长)。

有关更多信息,该脚本将包含登录凭据,因此理想情况下我喜欢以安全,极简的方式访问其值。

0 个答案:

没有答案