- 01Setting up (what you'll need)
- 02Your first shell script (echo)
- 03Using variables
- 04Command-line arguments ($1, $2 ...)
- 05Branching (the if statement)
- 06Repeating (the for loop)
- 07Repeating (the while loop)
- 08Writing your own function
- 09Working with arrays
- 10Command substitution ($())
- 11Working with strings (parameter expansion)
- 12Reading from standard input (read)
- 13Exit status and && / ||
- 14Pipes and redirection
- 15The case statement
- 16Arithmetic ($(( )))
- 17The basics of grep, sed and awk
- 18Argument checks and error handling
- 19Function return values and exit codes
- 20[Project] Build a small log-tallying script
Function return values and exit codes
This lesson covers passing a result back through a function's exit code.
A shell function can return an exit status (0–255) with return number. The caller checks the exit status of the most recent command or function through the special variable $?.
In the sample code, an is_even function returns return 0 (success) for an even number and return 1 (failure) for an odd one, and the caller checks $? to display the result.
A common early stumble is trying to return a string or a large number with return. It only handles 0–255, so for a string result you need the echo and $() combination from bash-07.
In professional work, the common pattern is to express "did the check pass or fail" as a function's exit status, and branch the following steps on it.
๐งช This site can't compile or run Shell Script directly, so it checks on the spot whether what you typed matches the reference code (scoring happens entirely in your browser โ nothing is sent anywhere).
