Как запустить сценарий оболочки в Java с помощью Cygwin - PullRequest
2 голосов
/ 13 февраля 2012

С давних пор я борюсь за эту программу. У меня есть сценарий оболочки, который принимает параметры в качестве номера версии и путь к файлам. затем этот сценарий создает Zip-файл с именем номера версии, содержащий все файлы в папке.

Я установил Cygwin по следующему пути D: / cygwin . Я копирую необходимые файлы в то же место, где установлен cygwin D: \ cygwin \ bin

Команда

D: / cygwin / bin / bash -c '/bin/test/app.sh 04.10 D: \ cygwin \ bin \ Test_files

Или кто-нибудь может предложить , как запустить скрипт оболочки в Java с помощью Cygwin .

Переписать проблему: -

Когда я пытаюсь выполнить следующую команду в командной строке, выдает ошибку

sh app.sh AK-RD 02.20 D: \ cygwin \ bin \ Test_files

Ошибка: -C: \ Documents and Settings \ sh app.sh AK-RD 02.20 D: \ cygwin \ bin \ Test_files

/ usr / bin / app.sh: строка 51: lib / lib.sh: такого файла или каталога нет

Но если я выполню ту же команду на

D: cygwin \ bin \ Test> sh app.sh AK-RD 02.20 D: \ cygwin \ bin \ Test_files

Работает нормально. Кто-нибудь может подсказать мне, как избежать подобных ошибок.

1 Ответ

4 голосов
/ 13 февраля 2012
Runtime run = Runtime.getRuntime();
Process p = run.exec("D:/cygwin/bin/bash -c \'/bin/test/app.sh 04.10 D:\cygwin\bin\ Test_files");
p.waitFor();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...