#!/bin/bash
#
# compute n factorial using recursive function (version from 9/07 class)
# (an example of recursion)
#
# WARNING:  script behaves very badly if argument is not an integer!
# (FIXME should improve sometime?)
#
function factorial() {
if [ $1 -eq 0 ]
then
    echo 1
else
    t=`factorial \`expr $1 - 1\``
    expr $1 \* $t
fi
}
if [ -z "$1" ]
then
    echo usage `basename $0` n
    exit 1
fi

echo factorial of $1 is:
factorial $1
