这就是我运行myscript.sh中设置的 bash 脚本的方式
#!/bin/bash
import subprocess
child = subprocess.Popen(['bash', '-c', '/bin/bash myscript.sh'], stdout = subprocess.PIPE)
output=child.communicate()
print(output)
脚本文件
我为什么要这样做是因为我必须运行的 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正在工作并打印 variables 。我想要的是我不想创建一个单独的文件,在那里写一个 bash 脚本来回显 myscript.sh 中的变量,而是将它写在 python 中。
我如何在 python 中完成它,而不是制作脚本文件并运行它。