繁体   English   中英

如何将Bash与Java集成

[英]how to integrate Bash with Java

任何机构都可以帮助我如何将bash脚本作为Java程序的一部分进行编译。 我正在编写一个简单的Java程序,我想使用它来调用bash脚本命令。


我的Java代码如下所示:

    try{
            Process p = Runtime.getRuntime().exec("myscript.sh"); 
        BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream())); 

        String line = null;  

        while ((line = in.readLine()) != null){  
                    System.out.println(line); 
        }  
    }
    catch(IOException e){
        System.out.println(e.getMessage());
    }

而“ mysrcipt.sh”文件是一个简单的脚本,其中包含以下几行


!/ bin / bash

回显“输入您的输入,然后按[ENTER]:”

读-e选择

回声$选择


我的问题是,即使我输入多行并按Enter键几次,程序也会在脚本的read命令中等待输入。

您可以使用:

Process p = Runtime.getRuntime().exec("bash_script.sh"); 
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));  
String line = null;  
while ((line = in.readLine()) != null) {  
   // use bash script line output
}  

看到一些代码来说明您要完成的工作会很有帮助。

在Java中执行bash脚本可以使用以下方法完成...

Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("YOUR COMMAND STRING");

List<String> lines = IOUtils.readLines(process.getInputStream());

Runtime.exec()是执行bash脚本所需要的,但是请注意有一些陷阱。 当开始调用外部脚本时,我发现是一篇不错的文章。

它是为Windows平台编写的,但是讨论的很多内容也与* nix有关。

另请参阅此问题

暂无
暂无

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

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