【原创】用 bash 写的 Fibonacci 数列递归函数

复制内容到剪贴板
代码:
#!/bin/bash

# 文件名: fib.sh
#   功能: 计算 Fibonacci 数列的前 n 项值
#   说明: 此脚本说明了递归函数的写法

# 递归函数定义
function fib {
    if [ $1 -lt 2 ]; then
        echo -n $1
    else
        local n_2=$(($1 - 2))
        local n_1=$(($1 - 1))
        local f_n_2=$(fib $n_2)
        local f_n_1=$(fib $n_1)
        local f_n=$((f_n_2 + f_n_1))
        echo -n $f_n
    fi
}

n=10
for ((i = 0; i < $n; i++))
do
    printf "fib(%2d) = %d\n" $i $(fib $i)
done