1. 回去"研究"了一下, shell 确实支持递归, 我还写了一个计算 Fibonacci 数列的递归函数, 运行正常, 爽! 脚本如下:
复制内容到剪贴板
代码:
#!/bin/bash
# 文件名: fib.sh
# 功能: 打印 Fibonacci 数列的前 10 个数值
function fib {
if [ $1 = 0 -o $1 = 1 ]; then
echo $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 $f_n
fi
}
xx=0
while [ $xx -le 10 ]; do
printf "fib(%2d) = %d\n" $xx $(fib $xx)
xx=$(($xx + 1))
done2. 你这个问题我觉得用 find 来实现可能容易一些, 至少不要考虑递归的问题