File: fact

package info (click to toggle)
bash 5.2.15-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bookworm-proposed-updates
  • size: 40,444 kB
  • sloc: ansic: 117,491; sh: 8,449; yacc: 5,411; makefile: 4,623; perl: 4,227; asm: 48; awk: 23; sed: 16
file content (13 lines) | stat: -rw-r--r-- 309 bytes parent folder | download | duplicates (9)
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 )) ) ))
}