我想在java程序中执行以下命令。但它只执行第一部分。 |之后的部分未执行
Process process = Runtime.getRuntime().exec(" adb devices | tail -n +2 | cut -sf 1");
process.waitFor();
答案 0 :(得分:2)
您需要在shell中运行它。试试这个:
Process process = Runtime.getRuntime().exec(new String[] {
"/bin/sh",
"-c",
"adb devices | tail -n +2 | cut -sf 1"
});
process.waitFor();
答案 1 :(得分:0)
请使用脚本,因为管道本身是shell的一部分。
或做这样的事情:
String[] commands = {
"/bin/sh",
"-c",
"ls /etc | grep release"
};
Process p = Runtime.getRuntime().exec(commands);