. sh файл не работает должным образом от java - PullRequest
1 голос
/ 15 января 2020

Я создал файл. sh для копирования файла с одного сервера на другой (команда scp), который отлично работает при запуске файла из оболочки (скопировал файлы в место назначения).

Но я попытался запустить тот же файл из Java с помощью команды

Runtime.getRuntime().exec(myShellScript)

, которая выполняет команду, но файл не копируется. Я получил эхо из файла sh означает, что файл sh выполняется, но файлы не копируются. Есть идеи?

Ответы [ 2 ]

0 голосов
/ 15 января 2020

Вы пытались использовать Process Builder ?

ProcessBuilder processBuilder = new ProcessBuilder();
processBuilder.command("path/to/hello.sh");

Также убедитесь, что скрипт исполняемый (chmod u + x имя файла)

РЕДАКТИРОВАТЬ: Если скрипт копирует файлы в каталоги, к которым пользователь, запускающий процесс Java, не имеет доступа, он не будет работать, если не используется su или sudo

0 голосов
/ 15 января 2020

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

Runtime.getRuntime().exec("sh "+myShellScript)

Пожалуйста, посмотрите также здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...