1# Who said shells can't use recursion?  Here is a factorial function.
2# You call it with a number as an argument, and it returns the factorial
3# of that number.
4
5fact ()
6{
7    local num=$1;
8    if [ "$num" = 1 ] ; then
9        echo 1
10        return ;
11    fi;
12    echo $(( $num * $(fact $(( $num - 1 )) ) ))
13}
14