Получение значения выхода из сценария оболочки 255 каждый раз

У меня есть баночка, например test.jar, в которой TestJar является основным классом, сценарий оболочки jar_executor.sh и файл java. Мой test.jar вернет 1, если мы передадим 1 в качестве аргумента, и 2, если мы передадим любое другое значение. Мой сценарий оболочки выполняет test.jar следующим образом

#!/usr/bin/ksh
java TestJar 1 -cp test.jar
return_code=$?
exit $return_code 

В java-файле я создаю процесс и выполняю сценарий оболочки и получаю его значение выхода с помощью следующего кода

Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec(sh jar_executor.sh);
int exitVal = process.waitFor();
System.out.println(exitVal);

Эта переменная exitVal должна вывести 1 или 2 в соответствии с переданным нами аргументом, но он печатает 255 каждый раз. Если я использую echo $ return_code в сценарии оболочки, я получаю правильное значение. Пожалуйста, помогите мне, почему я получаю значение 255 с exit . Заранее спасибо !!!

5
задан Vineet Reynolds 17 June 2011 в 10:44
поделиться