|
发表于 2004-3-1 13:08:41
|
显示全部楼层
最初由 javalee 发表
定义在脚本中的函数本身就是局部变量,所以没有必要用local,用local的方法好像是很过时的吧~
反对::p
local 之我用:
- #!/bin/bash
- # vi:set ts=8 sw=4 ft=sh:
- # 文件名: 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
复制代码 |
|