繁体   English   中英

谁可以在Centos X64中运行shell(.sh)脚本并读取输出?

[英]who i can run shell (.sh) scripts in Centos X64 and read output?

我正在使用Intellij IDEA,并且试图运行带有参数的Shell脚本,并读取执行结果。 这个脚本在我的Java SRC packge上, myScript.sh运行已编译的c程序

 String[] cmd = { "/bin/bash", "-c", "myScript" };
 Runtime.getRuntime().exec(cmd);

我通过在/ ect / bin中制作myScript.sh的副本来解决此问题 因此,这使我的脚本成为环境路径,并使我能够读取所有输出或添加补充参数 尚未进行任何更改

在我的Java代码上

使用ProcessBuilder

Process process = new ProcessBuilder(cmd).start();

然后, process.getInputStream()使您可以访问过程标准输出(stdout),您可以照常阅读该输出; process.getErrorStream()允许读取标准错误(stderr)。

您也可以执行process.waitFor()以等待项目完成。

请注意,要从进程的标准输出中读取任何内容,您需要等待进程完成(或循环读取),而不仅仅是完成主程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM