У меня есть скрипт Perl, который вызывает другой скрипт. Скрипт Perl должен распространять код возврата скрипта, но, похоже, он возвращает ноль своему вызывающему (Java-приложение) явному вызову exit $scriptReturnCode
.
Код и вывод следующим образом (я понимаю, что <=>
может / должно быть !=
, но это то, что у меня есть):
print "INFO: Calling ${scriptDirectory}/${script} ${args}"
$scriptReturnCode = system("${scriptDirectory}/${script} ${args}");
if ( $scriptReturnCode <=> 0 ) {
print "ERROR: The script returned $scriptReturnCode\n";
exit $scriptReturnCode;
} else {
print "INFO: The script returned $scriptReturnCode.\n";
exit 0;
}
Вывод из моего Java:
20/04/2010 14:40:01 - INFO: Calling /path/to/script/script.ksh arg1 arg2
20/04/2010 14:40:01 - Could not find installer files <= this is from the script.ksh
20/04/2010 14:40:01 - ERROR: The script returned 256
20/04/2010 14:40:01 - Command Finished. Exit Code: 0 <= this is the Java app.