RETURN(1) General Commands Manual RETURN(1)

returnreturn from a function

return [n]

The return utility shall cause the shell to stop executing the current function or dot script (see dot(1) ). If the shell is not currently executing a function or dot script, the results are unspecified.

The value of the special parameter ? shall be set to n, an unsigned decimal integer, or to the exit status of the last command executed if n is not specified. If the value of n is greater than 255, the results are undefined. When return is executed in a trap action (see trap(1) ), the ‘‘last command’’ is considered to be the command that executed immediately preceding the trap action.

The behavior of return when not in a function or dot script differs between the System V shell and the KornShell. In the System V shell this is an error, whereas in the KornShell, the effect is the same as exit. The results of returning a number greater than 255 are undefined because of differing practices in the various historical implementations. Some shells out all but the low order 8 bits; others allow larger values, but not of unlimited size. See the discussion of appropriate exit status values in exit(1) .

September 1991 posix.fail