shell看java控制台_java - 为什么我的shell脚本的输出不能打印在控制台? - SO中文参考 - www.soinside.com...
发布日期:2021-06-24 12:55:47 浏览次数:2 分类:技术文章

本文共 1025 字,大约阅读时间需要 3 分钟。

我试图用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终端,有几行输出。为什么会出现这种情况?

我卡在这一点上,我找不到任何其他解释来解决这个问题。请大家帮忙。

转载地址:https://blog.csdn.net/weixin_32862641/article/details/114710971 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:怎么判断适合学java_如何知道自己是否适合学习java开发
下一篇:斯坦福句法分析 java_斯坦福句法分析

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月06日 01时27分06秒