/********************************************************************
* shell 全局和局部变量
* 声明:
* 到目前为止,在写shell脚本的时候,经常被shell的函数中的变量
* 作用域搞得糊涂,于是今天特意查了点资料,看到底怎么回事。
*
* 2016-2-24 深圳 南山平山村 曾剑锋
*******************************************************************/ 一、参考文章:
shell 函数变量调用( 全局和局部 )混淆!!!
http://bbs.chinaunix.net/thread-3607361-1-1.html 二、结论:
shell变量都是全局的,除非在函数中用local限定(如果你的shell支持的话) 三、测试代码:
#!/bin/bash data=
modify_data() {
echo "2. $data"
data=
echo "3. $data" } echo "1. $data"
modify_data
echo "4. $data" 四、测试结果:
.
.
.
.