我正在尝试自动化流程。如果我运行命令" nexec -i $ HOST现金状态"手动我看到预期的结果。但是,当使用python脚本并运行如下命令时:
p = subprocess.Popen(command, stdout = subprocess.PIPE, shell=True)
runningAppString, err = p.communicate()
脚本挂起,因为会出现一个提示,询问用户想要登录的登录类型。我可以通过打开stdin PIPE和p.communicate来解决这个问题(输入=" 3")但我不明白为什么会这样。另外,当我上周第一次开始使用脚本IIRC时,只有stdout管道正常工作。为什么会发生这种情况?处理它的最佳方法是什么?
答案 0 :(得分:1)
尝试将命令拆分为数组:
p = subprocess.Popen(["nexec", "-i", "$HOST", "cash", "status"])