【发布时间】:2017-11-08 09:54:45
【问题描述】:
这就是我运行 myscript.sh
中设置的 bash 脚本的方式#!/bin/bash
import subprocess
child = subprocess.Popen(['bash', '-c', '/bin/bash myscript.sh'], stdout = subprocess.PIPE)
output=child.communicate()
print(output)
myscript.sh
我为什么要这样做是因为我必须运行的 bash 脚本没有导出命令,所以我在这里呼应。代码如下。我知道回显不会设置环境变量,但我只想回显它并获取值,因此回显而不是导出。
#!/bin/bash
source ia_servers
echo $IA_SRV_cs68_64
在哪里,$IA_SRV_cs68_64
这是列出变量值的 ia_servers 文件 它看起来像这样
IA_SRV_cs68_64="ds1 ds2 ds3 ds5 "
这就是变量在其中的方式。很多其他变量都因为设置太长而在里面去掉了。
TESTED 在终端上运行良好:
- 来源 ia_servers
- 回显 IA_SRV_cs68_64
打印所需的值集
问题: 虽然 myscript.sh 正在工作并打印变量。我想要的是我不想创建一个单独的文件,在那里写一个 bash 脚本来回显 myscript.sh 中的变量,而是将它写在 python 中。
我如何在 python 中完成它而不是制作 脚本文件并运行它。
【问题讨论】:
标签: python bash shell environment-variables environ