Java Runtime.exec для запуска сценария оболочки - не удается открыть файл
Я использую Runtime.getRuntime (). Exec () для запуска сценария оболочки из кода Java.
String[] cmd = {"sh", "build.sh", "/Path/to my/sh file"};
try{
Process proc = Runtime.getRuntime().exec( cmd );
}
catch(Exception e){
System.out.println("Exception is:"+e);
}
Это дает мне следующий вывод в консоли:
sh: Can't open build.sh
Я придерживаюсь некоторого неправильного подхода здесь? Не могу понять, почему это происходит.
РЕДАКТИРОВАТЬ
Основываясь на комментарии здесь, я изменилString[] cmd = {"sh", "build.sh", "/Path/to my/sh file"};
вString[] cmd = {"sh", "/Path/to my/sh file/build.sh", "/Path/to my/sh file"};
, Теперь проблема в том, что этот скрипт должен выполняться по определенному пути. Когда я выполняю этот скрипт из командной строки, я сначала изменяю каталог на этот путь и выполняю его. Как мне изменить этот код?