По заголовку вопроса, не удалось успешно выполнить приведенную ниже команду.
Обновлено : - когда я удаляю символы # из путей к файлам, команда работает нормально. Но это условие, и я не могу его изменить.
Код, выполненный с Java:
param = "install list \\\"-i /export/home/test/ABC#XYZ#TEST/test.rpm:-i /export/home/test/ABC#XYZ#TEST/test2.rpm\\\";
String commandToRunArr[]={"/bin/sh","-c", "/usr/local/bin/test.py" + " " + param};
process = Runtime.getRuntime().exec(commandToRunArr);
Другая информация:
/ usr / local / bin / test.py - исполняемый файл.
Как я пытался решить проблему, изменив команду для запуска:
Первая команда: /bin/sh -c /usr/local/bin/test.py install list \"-i /export/home/test/ABC#XYZ#TEST/test.rpm:-i /export/home/test/ABC#XYZ#TEST/test2.rpm\"
Ошибка: ОШИБКА: sh: - c: строка 0: неожиданный EOF при поиске совпадения `" '
ОШИБКА: sh: - c: строка 1: синтаксическая ошибка: неожиданный конец файла
Код возврата 1
Вторая команда: /bin/sh -c -- /usr/local/bin/test.py install list \"-i /export/home/test/ABC#XYZ#TEST/test.rpm:-i /export/home/test/ABC#XYZ#TEST/test2.rpm\"
ОШИБКА: / bin / sh: -: недопустимая опция
ОШИБКА: Использование: / bin / sh [длинная опция GNU] [опция] ...
ОШИБКА: / bin / sh [длинная опция GNU] [опция] файл сценария ...
Код возврата 2
Третья команда: '/usr/local/bin/test.py set priorityList "-i /export/home/test/ABC#XYZ#TEST/test.rpm:-i /export/home/test/ABC#XYZ#TEST/test2.rpm"'
ОШИБКА: / bin / sh: -: недопустимая опция
ОШИБКА: Использование: / bin / sh [длинная опция GNU] [опция] ...
E RROR: / bin / sh [длинная опция GNU] [опция] файл сценария ...
Код возврата 2
Четвертая команда: /usr/local/bin/test.py set priorityList "-i /export/home/test/ABC#XYZ#TEST/test.rpm:-i /export/home/test/ABC#XYZ#TEST/test2.rpm"
Ошибка: ошибка = 2, нет такого файла или каталога
Причина: java .io.IOException: ошибка = 2, Нет такого файла или каталога
Код возврата -999