shell 全局和局部变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 全局和局部变量相关的知识,希望对你有一定的参考价值。

/********************************************************************
 *                      shell 全局和局部变量
 * 声明:
 *     到目前为止,在写shell脚本的时候,经常被shell的函数中的变量
 * 作用域搞得糊涂,于是今天特意查了点资料,看到底怎么回事。
 *
 *                                 2016-2-24 深圳 南山平山村 曾剑锋
 *******************************************************************/

一、参考文章:
    shell 函数变量调用( 全局和局部 )混淆!!!
        http://bbs.chinaunix.net/thread-3607361-1-1.html

二、结论:
    shell变量都是全局的,除非在函数中用local限定(如果你的shell支持的话)

三、测试代码:
    #!/bin/bash

    data=10
    modify_data() {
        echo "2. $data"
        data=50
        echo "3. $data"

    }

    echo "1. $data"
    modify_data
    echo "4. $data"

四、测试结果:
    1. 10
    2. 10
    3. 50
    4. 50

 

以上是关于shell 全局和局部变量的主要内容,如果未能解决你的问题,请参考以下文章

Shell之环境变量、局部变量

shell中的局部变量与全局变量

Shell变量的作用域:Shell全局变量环境变量和局部变量

shell脚本环境变量

shell脚本环境变量

shell 环境变量的全局与局部静态变量