sf/examples/add

34 lines
896 B
Bash
Executable file

#!/usr/bin/env bash
# ----------------------
# sf -- script framework
# ----------------------
# Declare sf variables
sfdesc="Calculate the sum of multiple numbers."
sfargs+=("NUMBERS;Numbers which will be added")
sfargs+=("verbose;v;Enable verbose output")
sfparr=true # Treat the last declared positional argument as array
# Include sf, this could be replaced with a long oneliner
source "$(dirname $0)/../sf"
# ----------------------
# Actual script
# ----------------------
sum=0
for n in "${NUMBERS[@]}"; do # Use parsed positional argument array
if [ "$verbose" == true ]; then # Use parsed flag
echo -n "$sum + $n = "
fi
sum="$(expr $sum + $n)"
if [ "$verbose" == true ]; then # Use parsed flag
echo "$sftbf$sum$sftrs" # Use text formatting variables
fi
done
echo "The sum is: $sftbf$sum$sftrs" # Use text formatting variables