举例如下#/bin/bashfunction test { echo $[ $value * 2 ]}value=9value=$(test)echo "result is $value"运行后结果为result is 18这里可以发现函数内部是可以访问value这个全局变量的,虽然全局变量的定义出现在函数的后面也没有关系。
2 局部变量在变量的前面加上关键字local,这个变量就只存在对应的作用域里面,比如在函数里面用local的话,对应的变量生命周期只存在函数内部,外部无法访问。
举例如下:#/bin/bashfunction test { local value=$[ $data + 3 ]}data=2value=4testecho "value is $value"运行后结果为:value is 4可以发现在test函数内部定义了一个局部变量,函数内部对value进行修改后,外面的value变量并没有变化。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)