shell 全局和局部变量

本文通过实例演示了Shell脚本中变量的作用域概念。明确指出除非使用local关键字定义,否则所有变量默认为全局变量,并提供了具体代码示例来验证这一结论。
/********************************************************************
 *                      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

 

转载于:https://www.cnblogs.com/zengjfgit/p/5213705.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值