bash脚本,递归

 1 #!/bin/env sh
 2 
 3 function bb(){
 4     declare -i p=1
 5     until [ $p -gt $1 ];do
 6         declare -i z=1
 7         until [ $z -gt $p ];do
 8             echo -ne "${z}X${p}=$[z*p]\t"
 9             let z++
10         done
11         let p++
12     echo 
13     done
14 }
15 
16 read -p 'zzzzzzzzzzzzz:' vv
17 bb $vv

99乘法表函数思想

 1 #!/bin/env sh
 2 
 3 factorial(){
 4     if [ $1 -eq 1 ];then
 5         echo 1
 6     else
 7         #echo $[$1*$(factorial $[$1-1])]
 8         echo $[$1*`factorial $[$1-1]`]
 9     fi
10 }
11 
12 read -p 'ffffffffffffzzz:' xx
13 factorial $xx

实现了factorial阶乘,注意递归调用时相当于命令引用的方式

bash中函数相当于命令,要获取其结果返回值使用命令引用方式

 1 #!/bin/env sh
 2 
 3 function fabonacci(){
 4     if [ $1 -eq 1 -o $1 -eq 2 ];then
 5         echo 1
 6     else
 7         echo $[`fabonacci $[$1-1]`+`fabonacci $[$1-2]`]
 8     fi
 9 }
10 
11 read -p 'cccccccccccccccc:' bb
12 fabonacci $bb

上面是fabonacci数列的实现

 

posted @ 2020-05-26 20:20  ascertain  阅读(405)  评论(0编辑  收藏  举报