2012-02-13 70 views
2

从很长一段时间我奋力与此程序运行shell脚本。我有一个shell脚本,它接受参数作为文件的版本号和路径。那么该脚本会创建Zip文件,其中包含所有文件文件的版本号名称。如何在Java中使用Cygwin

我已经在以下路径上安装了Cygwin D:/ cygwin。我应对所需的文件到cygwin的安装d同一位置:\ cygwin的\ BIN

命令

d:/ Cygwin的/斌/庆典-c“/bin/test/app.sh 04.10 D:\ cygwin \ bin \ Test_files

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

重写的问题: -

当我试图按照命令的命令来运行提示提示错误

SH app.sh AK-RD 02.20 d:\ cygwin的\斌\ Test_files

错误:-C:\ Documents和Settings \ SH app.sh AK-RD 02.20 d:\ cygwin的\ BIN \ Test_files

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

但是,如果我在

d运行相同的命令:cygwin的\斌\测试> SH app.sh AK-RD 02.20 d:\ cygwin的\斌\ Test_files

它工作正常。任何人都可以告诉我如何避免这种错误。

回答

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(); 
+0

命令是一样的,你建议我什么。在字符串 – 2012-02-13 09:24:45

+0

java的excape字符当心。我认为这是比较正确的:'d:/ Cygwin的/斌/庆典-c \\“/斌/测试/ app.sh 04.10 d:\\ \\ cygwin的\\斌Test_files' – vikingsteve 2015-06-18 11:37:46