【发布时间】:2020-02-29 00:15:29
【问题描述】:
我想通过java来执行这个命令
"docker ps -q | xargs docker inspect --format '{{.HostConfig.NetworkMode}} {{ .Config.Image }} {{ .NetworkSettings.IPAddress }}'"
当我尝试通过 java 执行此命令时,我无法获得任何输出。 我没有收到任何错误或异常。
代码下方
String command ="docker ps -q | xargs docker inspect --format '{{.HostConfig.NetworkMode}} {{ .Config.Image }} {{ .NetworkSettings.IPAddress }}'";
process = Runtime.getRuntime().exec(command);
bufferedReaderObj = new BufferedReader(new InputStreamReader(process.getInputStream()));
while ((sLine = bufferedReaderObj.readLine()) != null) {
}
请帮助我,我认为这是因为命令中的花括号。
【问题讨论】:
-
您可能还想检查
getErrorStream()包含的内容。 -
这能回答你的问题吗? Why does Runtime.exec(String) work for some but not all commands?。
|和'..'是 shell 功能,因此您需要通过 shell 调用它(花括号不会影响任何内容)