Linux学习笔记--递归

递归实现阶乘
  function factorial
{
  if [ $1 -eq 1 ]
    then
     echo 1
   else
      local temp=$[ $1 - 1 ]
    local result=`factorial $temp`
     echo $[ $result * $1 ]
    fi
  }


递归实现斐波那契数列
 function FibonacciSequence
 {
   if [ $1 -eq 0 ]||[ $1 -eq 1 ]
  then
  echo $1
   else
   local temp1=$[ $1 - 1 ]
   local temp2=$[ $1 - 2 ]
   local result1=`FibonacciSequence $temp1 `
  local result2=`FibonacciSequence $temp2`
   echo $[ $result1 + $result2 ]
   fi
 }

递归遍历文件夹下的所有文件
function scanfolder
  {
 
    local cur_dir=$1
   local filelist=`ls $cur_dir`
   for file in $filelist
   do
       if [ -d $1/$file ]
     then
          local dir=`echo $1/$file`
        echo $file is a folder >> output
        scanfolder $dir
       else
          echo $cur_dir/$file >> output
      fi
    done

  }

你可能感兴趣的:(Linux)