java - 如何将 Bash 与 Java 集成

标签 java linux bash

任何人都可以帮助我如何将 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/庆典

echo "输入您的输入,然后按 [ENTER]:"

读-e选择

echo $选择


我的问题是,程序等待脚本中读取命令的输入,即使我输入多行并按回车键几次也是如此。

最佳答案

您可以使用:

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 与 Java 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12485552/

相关文章:

java - 如何通过 d :date properties in Alfresco? 启用高级搜索

java - J老板 : WAR file in EAR can't find JAR library on classpath

java - 通过 Web 服务调用的事务选项

java - 为 JBoss 的 log4j 中的所有日志输出指定日志级别

c - 将多个 C 库链接到 C 创建可执行文件

linux - 无法构建 nw.js hello world 应用程序

python - 运行 Django ./manage.py 时出现错误 "No such file or directory"

linux - 在 Linux 中使用时清空文件

bash - 如何从当前目录中删除所有文件,包括当前目录?

java - 命令行选项适用于 Windows,但不适用于 Linux