0

我想在 java 程序中执行以下命令。但它只执行第一部分。| 之后的部分 不执行

Process process = Runtime.getRuntime().exec(" adb devices | tail -n +2 | cut -sf 1");

        process.waitFor();
4

2 回答 2

2

您需要在 shell 中运行它。试试这个:

Process process = Runtime.getRuntime().exec(new String[] {
        "/bin/sh",
        "-c",
        "adb devices | tail -n +2 | cut -sf 1"
});
process.waitFor();
于 2013-04-05T13:04:19.380 回答
0

请改用脚本,因为 Pipe 本身是 shell 的一部分。

或者做这样的事情:

String[] commands = {
"/bin/sh",
"-c",
"ls /etc | grep release"
};

Process p = Runtime.getRuntime().exec(commands);
于 2013-04-05T13:04:36.167 回答