从Java运行脚本

时间:2012-03-23 12:36:46

标签: java cygwin

我在Windowscygwin上运行了许多脚本。

每当我使用新的沙箱时,这些脚本文件总是需要手动编辑。

因此,我正在考虑编写一个小Java UI应用程序,它将根据用户UI设置自动编辑脚本。

我已经阅读了一些关于从Java运行脚本文件的其他帖子,但没有看到如何在Windowscygwin上运行它们。

有没有其他人这样做或知道以前的帖子,他们可以推荐我?

2 个答案:

答案 0 :(得分:0)

如果您的路径上有cygwin,则可以像使用Java中的任何其他外部程序一样执行它。

注意:您必须在实际代码中从并行线程中读取数据!这只是在Windows上通过cygwin运行bash脚本的概念验证

Process process = Runtime.getRuntime().exec("bash -c ./script.sh");
InputStream inputStream = process.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = bufferedReader.readLine()) != null) {
    System.out.println(line);
}

答案 1 :(得分:0)

如果执行在Cygwin安装目录中找到的Cygwin.bat文件,您将看到您的会话变为Cygwin会话,然后您可以在cygwin会话中运行所有命令。

如果然后将cygwin/bin目录添加到路径中,则可以直接执行命令,就像linux环境一样。

在我的情况下,我将以下内容添加到PATH系统变量C:\cygwin64\bin的末尾,现在我可以像普通会话一样直接运行bash和其他命令。