首页 > 解决方案 > 使用 python 运行源命令并保持环境完整以供下一组命令使用

问题描述

我正在尝试使用 subproces.Popen() 来启动一些命令,如下所示:

cmd = source /dev/stdin <<< "$(docker run --rm XX/YY-application:${APP_TAG} test)"

 proc = subprocess.Popen(
        cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, executable="/bin/bash"
    )

现在它不返回任何东西,甚至使用proc.stdout.readline()返回我的换行符。在运行相同的 cmd 时,在 shell 上给了我正确的输出。

所以,我有两个问题:1.为什么打印标准输出没有给我任何东西?2.如何保存cmd创建的环境,以供后续命令使用?

标签: python-2.7docker

解决方案


推荐阅读