shell中变量的访问权限控制

2014/12/17 Linux

在程序设计的过程中我们常常会用到局部变量,在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仅仅的作用范围在函数体内

再见啦,俺会想念大家滴,在下面留言 @_@ 。

—做有节操的程序员


Search

    Post Directory