Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 48c9278b808afd9b11daa8f5a3d2ffbe > files > 83

bash-doc-4.2.37-1.fc16.i686.rpm

# Who said shells can't use recursion?  Here is a factorial function.
# You call it with a number as an argument, and it returns the factorial
# of that number.

fact ()
{
    local num=$1;
    if [ "$num" = 1 ] ; then
        echo 1
        return ;
    fi;
    echo $(( $num * $(fact $(( $num - 1 )) ) ))
}