如何将输出值保存到 String 变量?
How to save output values to a String variable?
请见谅,我是韩国人,英语不好。
我想将 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();
}
}
您必须使用 Streams 来获取标准输出(脚本的输出)和标准错误。看看我的 wiki 文章 "Proper handling of the ProcessBuilder"。那里描述了流的处理。
请见谅,我是韩国人,英语不好。
我想将 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();
}
}
您必须使用 Streams 来获取标准输出(脚本的输出)和标准错误。看看我的 wiki 文章 "Proper handling of the ProcessBuilder"。那里描述了流的处理。