En récursif :D

$ f() { (($1>0)) && echo $(( $1*$(f $(($1-1))) )) || echo 1; }
$ f 5
120
$