如何在Mac上运行终端命令并通过java打印输出
问题描述:
我在下面的代码中尝试获取ran命令的输出。但它打印空白。如何在Mac上运行终端命令并通过java打印输出
String cmd = "/bin/bash device_id -l";
Process process = Runtime.getRuntime.exec(cmd);
BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
任何人都可以请帮助我。我必须得到连接的iDevice UDID。
答
用下面的代码我可以得到连接的设备udid。
public String deviceUDID() throws IOException{
ProcessBuilder builder = new ProcessBuilder("/bin/bash", "-c", "/usr/local/bin/idevice_id -l");
builder.redirectErrorStream(true);
Process p = builder.start();
BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
line = r.readLine();
System.out.println(line);
return line;
}
尝试 '字符串CMD = “DEVICE_ID -l”;' – jctim
,是不是在苹果@jctim –
工作,我不知道该怎么做你的命令做的,但我想'字符串CMD =“PS - ef“;'并在stdout中获得输出。也许你的命令在stderr中写入? – jctim