linux shell 脚本中local的用法

 

linux 中 local为一个关键字,用于限制变量的作用范围(作用域),通常应用在函数的内部.

 

举例如下:

001、在函数内部定义变量, 不使用关键字local

[root@pc1 test2]# ls
a.sh
[root@pc1 test2]# cat a.sh       ## 测试函数
#/bin/bash

function db1()
{
        value=10                 ## 函数内部定义变量, 不使用关键字local
        echo $[$value *2]
}

db1
echo "----------------------"
echo $(($value + 40))            ## 函数外部调用变量value
[root@pc1 test2]# bash a.sh      ## 执行改脚本
20
----------------------
50                               ## 此处正确返回的运算数值,说明变量value在函数外部调用成功

 

 002、在函数内部定义变量, 使用关键字local

[root@pc1 test2]# ls
a.sh
[root@pc1 test2]# cat a.sh
#/bin/bash

function db1()
{
        local value=10                 ## 此处在函数内部使用了关键字local, 变量的作用域仅在函数内部
        echo $[$value *2]
}

db1
echo "----------------------"
echo $(($value + 40))                  ## 此处在函数外部尝试调用变量value
[root@pc1 test2]# bash a.sh
20
----------------------
40                                     ## 返回结果表明,未能成功调用变量value(说明local关键限制的变量的作用范围)

 

.

 

posted @ 2023-11-05 16:06  小鲨鱼2018  阅读(1133)  评论(0编辑  收藏  举报