2012-03-08 3 views
1

Я пытаюсь запустить скрипт bash из программы Java, которую я пишу в окнах. Я пытаюсь использовать объект Runtime, чтобы заставить процесс работать, и моя программа компилируется и выполняется без исключений, но мой простой тестовый скрипт, который просто создает каталог, не выполняется.Как запустить скрипт cygwin из java

Вот что у меня до сих пор:

String cmmd[] = new String[3]; 
    cmmd[0] = "C:\\cygwin\\bin\\bash.exe"; 
    cmmd[1] = "cd C:/Users/pro-services/Desktop/projects/github/cygwin"; 
    cmmd[2] = "bash TEST.sh"; 

    Runtime rt= Runtime.getRuntime(); 
    Process proc = rt.exec(cmmd); 

В основном это смесь разных вещей, которые я нашел в форумах вокруг сети, но я предполагаю, что я просто не понимаю, что происходит с классом Process (и у меня есть только базовое представление о классе Runtime).

Я также нашел, что это, и подключил свой собственный материал в котором я думал, что он должен идти:

Runtime.getRuntime().exec(new String[]{"C:\\cygwin\\bin\\bash.exe", 
                "-c", "c:\\cygwin\\bin\\run.exe -p /bin bash C:\\Users\\pro-services\\Desktop\\projects\\github\\cygwin\\TEST.sh"}, 
             new String[]{"PATH=/cygdrive/c/cygwin/bin"}); 

Здесь я не уверен, что представляют "-c" и "-p" строки, но я просто пошел с ним. Сначала было похоже, что я могу просто подключить последовательные команды, которые я хочу выполнить для объекта Runtime/Process, по сути создавая «скрипт» для запуска моего скрипта. Но теперь кажется, что есть еще что-то ...

Я сейчас стреляю в темноте, и я попытался понять документацию, но я потерялся. Любая помощь будет оценена по достоинству. Спасибо)))

ответ

0

непроверенная, но я думаю:

cmmd[0] = "C:/cygwin/bin/bash.exe"; 
cmmd[1] = "-c"; 
cmmd[2] = "cd /cygdrive/c/Users/pro-services/Desktop/projects/github/cygwin && bash TEST.sh"; 
+0

, а затем просто запустить 'RUNTIME Rt = Runtime.getRuntime(); \t \t Process proc = rt.exec (cmmd); '? Таинственным образом я до сих пор не получаю никакого результата. Спасибо, это выглядит лучше. – blaughli

Смежные вопросы