首页 > 解决方案 > 如何将输出值保存到字符串变量?

问题描述

请原谅,因为我是韩国人,英语不好。

我想将 shell 脚本的输出存储在字符串中。

但他们找不到办法。我该怎么办?

package dbUpdate;


import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;

public class ShellCommander {

    static Scanner sc = new Scanner(System.in);
    static String carSSID;
    static String target;
    static String IPAddress;

    public static void main(String[] args) throws Exception {


        String command = "/usr/local/bin/docker ps";

        shellCmd1(command);
    }


    public static void shellCmd1(String command) throws Exception {
        String line;
        ProcessBuilder pb = new ProcessBuilder(command.split("\\s+"));
        pb.inheritIO();
        Process p = pb.start();
        p.waitFor();
    }

}

标签: javaeclipseshellstoreprintln

解决方案


您必须使用 Streams 来获取标准输出(脚本的输出)和标准错误。查看我的 wiki 文章“正确处理 ProcessBuilder”。那里描述了流的处理。


推荐阅读