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