#!/bin/bash # vi:set ts=8 sw=4 et sta: # # Author : Clark J. Wang # License: GPLv2 # # $Date$ # $Author$ # $HeadURL$ # $Revision$ # #--------------------------------------------------------------------# function fib { if [ $1 = 0 -o $1 = 1 ]; then echo -n $1 return fi local x1=0 x2=1 x3 i for ((i = 1; i <= $1 - 1; ++i)); do ((x3 = x1 + x2)) ((x1 = x2)) ((x2 = x3)) done echo -n $x3 } #-- main ------------------------------------------------------------# { declare -i n=$1 [ $n -eq 0 ] && n=10 for ((i = 0; i < n; ++i)); do echo "fib($i) = $(fib $i)" done }