3
我試圖執行從Java代碼如下:在調用Runtime.getRuntime()EXEC()得到錯誤:/斌/慶典:沒有這樣的文件或目錄
String[] cmd = { "/bin/bash", "netstat -nr | grep '^0.0.0.0' | awk '{print $2}'" };
Process process = Runtime.getRuntime().exec(cmd);
process.waitFor();
BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));
BufferedReader inputError = new BufferedReader(new InputStreamReader(process.getErrorStream()));
String line = null;
while ((line = input.readLine()) != null) {
logger.info(line);
}
String lineError = null;
while ((lineError = inputError.readLine()) != null) {
logger.info(lineError);
}
在執行這個,我不是從輸入流獲取任何輸出。但錯誤流中,我看到以下錯誤:
/bin/bash: netstat -nr | grep '^0.0.0.0' | awk '{print $2}': No such file or directory
我已經驗證/斌/ bash的存在,如果我把下面的內容在sh文件,並執行相同的,我得到正確的輸出:
#!/bin/bash
netstat -nr | grep '^0.0.0.0' | awk '{print $2}'
我看了很多類似的問題在stackoverflow,但沒有解決方案爲我工作。