2

I am invoking a java program from a shell script "TC Shell Script" and the java program returns status codes which represent certain conditions.

The return code of the java prgram is captured in the pre-defined status variable of the TC Shell.

The return codes are captured fine.

The problem I'm facing is when the java program returns or terminates with -1 with System.exit(-1) the shell script is getting 255 as the return code.

All positive numbers are captured fine in the shell script only -1 is being read as 255.

How can i solve this.

3
  • 1
    Sounds like a byte value has wrapped. Commented Aug 3, 2012 at 3:26
  • stackoverflow.com/questions/2726447/… Commented Aug 3, 2012 at 5:02
  • I guess you mean tcsh? This is commonly referred to as the Tenex C shell or simply as tcsh. There is a broad movement away from the C shell family; perhaps you should switch to Bash or Zsh (though for this question, it doesn't matter really). Commented Aug 20, 2015 at 7:29

1 Answer 1

3

Return codes from executables are a small positive number. Negative numbers get converted to unsigned. There is no way to get a negative number into the exit code.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.