Только часть скрипта, выполненная из Java-программы - PullRequest
1 голос
/ 30 октября 2011

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

Java-код для выполнения сценария оболочки:

File file = new File("/path/to/script");
String COMMAND= "./run";
ProcessBuilder p = new ProcessBuilder(COMMAND);
p.directory(file);
try {
    Process startProcess= p.start();
} catch (IOException e) {
    e.printStackTrace();
}

Сценарий работает нормально, но не весь сценарий выполняется. Похоже, выполняется только 1-я строка.

1 Ответ

1 голос
/ 30 октября 2011

Если вы уверены, что скрипт запускается, проблема не в java, а в самом скрипте.

Причиной различий может быть неправильный путь или неправильное окружение.Когда вы запускаете скрипт из консоли, вы находитесь в среде вашего пользователя, поэтому скрипт может использовать все переменные окружения.

Попробуйте добавить несколько отладочных выходов, чтобы выяснить проблему.

...