Shell脚本local变量内存泄露

来源:互联网 发布:node 模块开发 编辑:程序博客网 时间:2024/05/21 06:26

Shell脚本local变量内存泄露

shell脚本的内存泄露,你一定很少遇到,今天小组同事就撞了一次头彩。

首先上代码:

#!/bin/shwhile truedo    local test=100;done

抛开没有sleep不谈(这是为了快速测试),这段代码会不会内存泄露?!

动手快的你,肯能已经做了测试:不会啊,报错了!

是的,linux PC上测试会发现,执行提示,local定义不在一个函数内

但是在arm板子上,运行上面的代码,没有提示,内存会蹭蹭的往上涨!

test.sh进程

经过上面的测试,应该可以确认:

  1. local变量是从堆里申请的

  2. local变量只能定义在函数体内

    shell高版本已经在非函数体内定义local变量添加了错误提示

注:具体机制赞不清楚,如有大牛知晓,请告知,多谢!

0 0