Functions and Return Values

Defines and uses Bash functions with local variables, return values, argument passing, and recursive calls for modular and reusable script logic.

BashCli Tooling

Code

snippet
#!/usr/bin/env bash
set -euo pipefail

# Basic function
greet() {
    local name="${1:-World}"
    echo "Hello, $name!"
}

# Function returning a value via stdout
calculate_area() {
    local width=$1
    local height=$2
    echo $(( width * height ))
}

# Function with return status
is_even() {
    local num=$1
    (( num % 2 == 0 ))
}

# Recursive function: factorial
factorial() {
    local n=$1
    if (( n <= 1 )); then
        echo 1
    else
        local prev
        prev=$(factorial $(( n - 1 )))
        echo $(( n * prev ))
    fi
}

# Main execution
greet "Alice"
greet

area=$(calculate_area 5 10)
echo "Area: $area"

if is_even 42; then
    echo "42 is even"
fi

fact=$(factorial 5)
echo "5! = $fact"