shell看java控制台_java - 为什么我的shell脚本的输出不能打印在控制台? - SO中文参考 - www.soinside.com...
我試圖用java在控制臺打印一個shell腳本的輸出。當我手動運行該腳本時,我得到C:/Users/user1/Desktop/shell.sh: line 78: /usr/ucb/ps: No such file or directory
: Probe [ devicename ] is not running!
但是,當我試圖在我的Java程序上運行它時,輸出沒有被打印在控制臺上。ProcessBuilder processBuilder = new ProcessBuilder("C:/Program Files/Git/git-bash.exe","C:/Users/user1/Desktop/shell.sh");
try {
Process process = processBuilder.start();
StringBuilder output = new StringBuilder();
BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
output.append(line + "\n");
System.out.println(line);
}
int exitVal = process.waitFor();
if (exitVal == 0) {
System.out.println("Success!");
System.out.println(output);
System.exit(0);
} else {
//abnormal...
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
我的代碼是: 唯一的輸出是 "成功"。當我調試我的代碼時,我發現代碼從來沒有進入過條件。while ((line = reader.readLine()) != null)
盡管在bash終端,有幾行輸出。為什么會出現這種情況?
我卡在這一點上,我找不到任何其他解釋來解決這個問題。請大家幫忙。
總結
以上是生活随笔為你收集整理的shell看java控制台_java - 为什么我的shell脚本的输出不能打印在控制台? - SO中文参考 - www.soinside.com...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gta5恐霸怎么改装
- 下一篇: 怎么判断适合学java_如何知道自己是否