fact ()
{
local number=$1 # Переменная "number" локальная!
if [ "$number" -eq 0 ]
then
factorial=1
else
let "decrnum = number - 1"
fact $decrnum # Рекурсивный вызов функции.
let "factorial = $number * $?"
fi
return $factorial
}
fact $1
echo "Факториал числа $1 = $?"
exit 0
scan() {
local x;
for e in "$1"/*; do
filename=${e##*\/};
if [ -d "$e" -a ! -L "$e" ]
then
scan "$e";
else
process "$e";
fi
done
}
if [ -d "$@" ]
then
scan "$@";
fi
Источники:
- 1-2 - user.su