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"}; , Теперь проблема в том, что этот скрипт должен выполняться по определенному пути. Когда я выполняю этот скрипт из командной строки, я сначала изменяю каталог на этот путь и выполняю его. Как мне изменить этот код?

Ответы на вопрос(4)

Ваш ответ на вопрос