我正在使用的ProcessBuilder在java程序shell腳本命令,以從shell腳本命令的輸出,這裏是我的代碼:從這個無法在java中
String lastLine = "";
ProcessBuilder processBuilder = new ProcessBuilder("/bin/bash", "-c", "echo $(ps -eo pid,args | grep -v grep | grep -v \"$$"\ | grep feature_service.sh | awk '{print $1}')");
BufferedReader reader =
new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
lastLine = line;
}
輸出:空字符串(「」)
但是,如果我在終端上運行相同的命令它工作正常(進程的PID)。
請幫幫我。
這是編譯嗎?你在''$$''(而不是'\「$$ \」')中有一個字符串中有兩個未轉義的引號。 –
我只在我的程序中使用這個\「$$ \」。 thnx我也會在這裏改變。 – vinni