Skip to content

Latest commit

 

History

History
32 lines (27 loc) · 944 Bytes

函数实现递归.md

File metadata and controls

32 lines (27 loc) · 944 Bytes

函数实现递归

  • 采用函数可以实现递归调用,实现方式和Java中的实现方式基本相同。下面的例子使用函数实现递归,注意echo命令的用法。例:bash129.sh:

      #!/bin/bash
      # 实现递归的函数
      function1(){
        # 判断参数是否为1,如果是1直接输出1
        if [ $1 -eq 1 ]
        then
          echo 1
        else
      # 将参数减一后保存到临时变量
      local temp=$[ $1 - 1 ]
      # 递归调用函数
      local result=`function1 $temp`
      # 将结果输出
          echo $[ $result * $1 ] 
        fi
      }
      # 从控制台接收数据
      read -p "Please input parameter: " var
      # 调用函数取得返回值
      result=`function1 $var`
    
      echo "Result is $result"
    
    • 控制台显示:

        $ bash129.sh
        Please input parameter: 5
        Result is 120