0
我想在java程序中執行以下命令。但它只執行第一部分。 |之後的部分不執行getRuntime與管道?
Process process = Runtime.getRuntime().exec(" adb devices | tail -n +2 | cut -sf 1");
process.waitFor();
我想在java程序中執行以下命令。但它只執行第一部分。 |之後的部分不執行getRuntime與管道?
Process process = Runtime.getRuntime().exec(" adb devices | tail -n +2 | cut -sf 1");
process.waitFor();
你需要在shell中運行它。試試這個:
Process process = Runtime.getRuntime().exec(new String[] {
"/bin/sh",
"-c",
"adb devices | tail -n +2 | cut -sf 1"
});
process.waitFor();
改爲使用腳本,因爲Pipe本身是shell的一部分。
或做這樣的事情:
String[] commands = {
"/bin/sh",
"-c",
"ls /etc | grep release"
};
Process p = Runtime.getRuntime().exec(commands);
它的工作原理,謝謝。 – Zizou 2013-04-05 13:08:25