The return built-in returns from a function or script.
Syntax
- 
return [-n] [exit_status]
Description
When executed without the -n (--no-return) option, one of the following
happens:
- 
If the shell is executing a function, the execution of the function is terminated. 
- 
If the dot built-in is executing a script, the execution of the script is terminated. 
- 
If the shell is executing a script during initialization, the execution of the script is terminated. 
- 
If the shell is executing a trap, the execution of the trap is terminated for the currently handled signal. 
- 
Otherwise, the shell exits unless it is interactive. 
When executed with the -n (--no-return) option, the built-in does nothing
but return the specified exit_status.
Options
- 
-n
- 
--no-return
- 
Do not terminate a function, script, trap, or the shell. 
Operands
- exit_status
- 
The exit status of the built-in. The value must be a non-negative integer. If omitted, the exit status of the last executed command is used. (But when the shell is executing a trap, the exit status of the last command before the trap is used.) 
Exit status
The exit status of the return built-in is defined by the exit_status operand. The exit status is used also as the exit status of the terminated function, script, or the shell.
Notes
The return built-in is a special built-in.
Exit status values greater than 255 are non-portable extensions.
In the POSIX standard, the behavior of the return built-in is defined only when the shell is executing a function or script.
The POSIX standard defines no options for the return built-in; the built-in accepts no options in the POSIXly-correct mode.