Interview Scripting (Bash, Groovy)

What is the difference between exit and return? [Intermediate]

Answer

exit terminates the current shell or script process, while return exits only the current function or sourced script. In normal scripts, use return inside functions and exit for final script termination.

Technical explanation

Calling exit inside a sourced file can close the caller's shell, which is dangerous for library files.

return can only be used inside a function or sourced script, not at top level of a normally executed script.

Both accept numeric statuses, and both should preserve meaningful failure codes where possible.

Hands-on example

validate() { [[ -f "$1" ]] || return 2}

main() { validate config.yaml || return $? echo "valid"}

main "$@"exit $?

Preparing for an interview?

Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.

More Scripting (Bash, Groovy) interview questions

← All Scripting (Bash, Groovy) questions