ExitStatus 2, когда я запускаю команду через SSH с JSCH - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь запустить следующую команду через SSH с JSch:

AlgoName -m /tmp/input1.txt -f /tmp/input2.txt> /tmp/output.txt

Значение exitStatus равно 2 .Команда не работает через SSH с Jsch, но она успешно выполняется на сервере.

Мой код:

        ChannelExec channelExec = (ChannelExec) s.openChannel("exec");
        channelExec.setCommand(command);         
        channelExec.connect();

        int exitStatus = channelExec.getExitStatus();
        channelExec.disconnect();

1 Ответ

0 голосов
/ 13 июня 2018

Алгоритм, который я пытаюсь запустить, написан на Perl, фактически, когда я выполняю удаленную команду SSH через JSCH, профиль пользователя, используемый для запуска команды, не загружается, поэтому переменные среды также не загружаются.

Решение состоит в том, чтобы загрузить профиль, когда я запускаю команду, например:

bash -l -c 'AlgoName -m /tmp/input1.txt -f /tmp/input2.txt > /tmp/output.txt'
...