summaryrefslogtreecommitdiff
path: root/examples/functions/fact
blob: cd7bf467bc3ad24d0b8cefc6ad8843b300595bbd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
# 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 ])]
}