Shell变量

Shell变量默认是global的,其作用于从其被定义开始到shell脚本执行结束

local一般用于局部变量声明,多在在函数内部使用。
(1)shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止。
(2)shell函数定义的变量默认是global的,其作用域从“函数被调用时执行变量定义的地方”开始,到shell结束或被显示删除处为止。函数定义的变量可以被显示定义成local的,其作用域局限于函数内。但请注意,函数的参数是local的。
(3)如果同名,Shell函数定义的local变量会屏蔽脚本定义的global变量。

http://blog.csdn.net/wangjianno2/article/details/50200617

示例1:

funct() {
    foo=1
    echo "in function: foo=$foo"
}

funct
echo "outside function: foo=$foo"

结果:

[sms@lab233 test]$ ./var.sh 
in function: foo=1
outside function: foo=1

示例2:

foo=0 

funct() {
    foo=1
    echo "in function: foo=$foo"
}

funct
echo "outside function: foo=$foo"

结果:

[sms@lab233 test]$ ./var.sh 
in function: foo=1
outside function: foo=1

示例3:

function Hello()  
{
        local text="Hello World!!!" 
        echo $text  
}

Hello
echo "text is"$text"!"

结果:

[sms@lab233 test]$ sh c.sh 
Hello World!!!
text is!
posted @ 2017-11-01 14:24  岳麓丹枫  阅读(183)  评论(0)    收藏  举报