Я пытаюсь запустить bash-скрипт из Java-программы, которую пишу в windows. Я пытался использовать объект Runtime, чтобы заставить процесс работать, и моя программа компилируется и запускается без исключений, но мой простой тестовый скрипт, который просто создает каталог, не выполняется.
Вот что у меня так далеко:
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 выполнял, по сути, создав «скрипт» для запуска моего скрипта. Но теперь кажется, что это еще не все ...
Сейчас я просто стреляю в темноте, и я пытался понять документацию, но я потерян. Любая помощь будет оценена. Спасибо)))