如何使用Cygwin在java中运行shell脚本

时间:2012-02-13 09:06:13

标签: java cygwin

很长一段时间我都在努力学习这个课程。我有一个shell脚本,它接受参数作为文件的版本号和路径。然后该脚本创建Zip文件,其名称为版本号,将所有文件文件包含在文件夹中。

我已在以下路径 D:/ cygwin 上安装了Cygwin。我正在将所需文件复制到安装了cygwin的同一位置 D:\ cygwin \ bin

命令

D:/ cygwin / bin / bash -c'/bin/test/app.sh 04.10 D:\ cygwin \ bin \ Test_files

或者任何人都可以建议如何使用Cygwin 在java中运行shell脚本。

重写问题: -

当我尝试在命令提示符下运行以下命令时,它会给出错误

sh app.sh AK-RD 02.20 D:\ cygwin \ bin \ Test_files

错误:-C:\ Documents and Settings \ sh app.sh AK-RD 02.20 D:\ cygwin \ bin \ Test_files

/usr/bin/app.sh:line 51:lib / lib.sh:没有这样的文件或目录

但如果我在

运行相同的命令

D:cygwin \ bin \ Test> sh app.sh AK-RD 02.20 D:\ cygwin \ bin \ Test_files

工作正常。任何人都可以建议我如何避免这种错误。

1 个答案:

答案 0 :(得分:4)

Runtime run = Runtime.getRuntime();
Process p = run.exec("D:/cygwin/bin/bash -c \'/bin/test/app.sh 04.10 D:\cygwin\bin\ Test_files");
p.waitFor();