|
我写了这样的一个代码- i=0
-
- fun () {
- i=`expr $i + 1`
- }
-
- fun [color=red]&[/color]
- sleep 2
- echo $i
复制代码 这段代码给出的结果是0,就是说子函数fun没有将$i+1的操作结果返回去。
如果我将fun后面的后台执行符删去,如下面的代码,最后的结果是1,就是说fun返回了$i+1的结果- i=0
-
- fun () {
- i=`expr $i + 1`
- }
-
- fun
- sleep 2
- echo $i
复制代码
有高手能解释一下吗?有没有什么办法让子函数即使是放入后台执行也能将结果返回? |
|