Как запустить скрипт bash из Java - PullRequest
1 голос
/ 16 марта 2012

Я видел много похожих постов, но я все еще в тупике.Я хочу запустить этот сценарий оболочки с Java-программой:

C:\\Users\\pro-services\\Desktop\\projects\\github\\cygwin\\TEST.sh

Вот как выглядит код:

ProcessBuilder pb = new ProcessBuilder("C:\\Users\\pro-services\\Desktop\\projects\\github\\cygwin\\TEST.sh");
Process p = pb.start();

Я пытаюсь использовать Process Builder, но я неуверен, как заставить это работать - я продолжаю получать ошибку:

Cannot run program "C:\Users\pro-services\Desktop\projects\github\cygwin\TEST.sh": CreateProcess error=193, %1 is not a valid Win32 application

Я знаю, что есть другие поля ProcessBuilder, которые я не использую.Я также знаю, что здесь могут быть проблемы с синтаксисом.Я написал свой сценарий для Cygwin.Любая помощь, пожалуйста?

1 Ответ

2 голосов
/ 16 марта 2012

Вместо передачи сценария как исполняемого файла ProcessBuilder , передайте путь к bash двоичного файла и передайте сценарий в качестве аргумента:

ProcessBuilder pb = new ProcessBuilder("C:\\path\\to\\bash.exe", "C:\\Users\\pro-services\\Desktop\\projects\\github\\cygwin\\TEST.sh");
Process p = pb.start();
...