在程序设计的过程中我们常常会用到局部变量,在C语言中就用static,这家伙在控制局部数据方面绝对的功臣,但是C语言是不是太简单了?当我们跨进shell脚本时代, 又用什么来控制变量的这一特性呢?
先科普一下C语言中static的作用
- 1:隐藏,可以控制该变量的访问权限为函数可见,单个文件可见,多个文件可见
- 2:保持变量数据的持久,静态变量只允许初始化一次,因为和全局变量存在同一区域所以永久保存,只是作用域变小了,也就是“隐藏”
- 3:默认初始化为0,当静态变量不初始化的时候,系统默认初始化为0,全局变量也是如此。
shell脚本中的LOCAL:
#!/bin/sh
a()
{
local s=1
echo $s
}
b(){
s=2
echo $s
}
s=0
a
echo $s
b
echo $s
[root@xbb test]# chmod +x test
[root@xbb test]# ./test
1
0
2
2
local添加后,作用域的范围不一样。local仅仅的作用范围在函数体内
再见啦,俺会想念大家滴,在下面留言 @_@ 。
—做有节操的程序员