seba wrote: > GNU bash, version 3.2.25(1)-release (i686-pc-linux-gnu) > Copyright (C) 2005 Free Software Foundation, Inc. > > #!/bin/sh > > fib() { > n=$1 > [ $n == 0 -o $n == 1 ] && return $n > fib $(($n-1)) > ret1=$? > fib $(($n-2)) > ret2=$? > return $(($ret1 + $ret2)) > } > > for ((i=0;$i<36;i++)) > do > fib $i > echo "n=$i=>$?" > done
You managed to write yourself an infinitely-recursive function, and eventually ran out of stack space. `==' is a string operator, not a numeric operator, when used with `['. Chet -- ``The lyf so short, the craft so long to lerne.'' - Chaucer Live Strong. No day but today. Chet Ramey, ITS, CWRU [EMAIL PROTECTED] http://cnswww.cns.cwru.edu/~chet/