代码: 全选
1 #!/bin/bash
2 test()
3 {
4 local n="$1"
5 #定义一个变量, 为紒乘的最大值
6 if [ "$n" -eq 0 ]
7 #当等于0时返回
8 then
9 result=1
10 else
11 #当n大于0时
12 let "m=n-1"
13 #赋值给下一个
14 test "$m"
不明白这里, 这里有个函数, 第当来到这里时, 会重新执行一次test, 下面的语句还会执行吗?
还有就是$?不是返回状态吗?$?每次返回0?下面的result都是等于0??
请指点一下吧, 实在看不明白。
15 let "result=$n*$?"
16 #再次进入
17 fi
18 return $result
19 }
20 test "$1"
21 echo "$1的紒乘为:$result"