4

我目前正在为 Apache PLC4X 项目编写飞行前检查脚本。在那里我检查是否存在所需的第三方工具及其版本。

如果我在命令行上运行“python --version”,我会得到很好的响应。

但是,如果我在 Groovy 中运行它:

print "Detecting Python version: "
def output = ("python --version").execute().text

我只是得到一个空字符串。所有其他工具均未显示此行为。所有其他人在“输出”中都有控制台输出。

我怎样才能做我想做的检查?我究竟做错了什么?

4

1 回答 1

2

不要假设您在终端上看到的所有内容都来自标准输出。

相反,信息性消息经常被发送到标准错误,以避免它们被任何处理管道捕获(这就是在早期 UNIX 时代创建两个通道的原因)。

于 2019-05-23T16:18:41.913 回答