Shell 编程实战--全局变量、局部变量

shell 编程实战–全局变量、局部变量

  • 全局变量

全局变量可以在脚本中定义,也可以在某个函数中定义。在脚本中定义的变量都是全局变量,其作用域为从被定义的地方开始,一直到Shell脚本结束或者被显式地删除
如下,演示全局变量的使用方法

[root@wan day02]# vim var3.sh 
#!/bin/bash
#定义函数
func()
{
	#输出变量x的值
	echo "$v1"
	#修改变量x的值
	v1=200
}
#在脚本中定义变量x
v1=100
#调用函数
func
#输出变量x的值
echo "$v1"

#调试
[root@wan day02]# chmod +x var3.sh 
[root@wan day02]# ./var3.sh 
100
200
[root@wan day02]# vim var4.sh +
#!/bin/bash
#定义函数
func()
{
    #在函数内部定义变量
    v2=200
}
#调用函数
func
#输出变量的值
echo "$v2"

[root@wan day02]# chmod +x var4.sh 
[root@wan day02]# ./var4.sh 
200
  • 局部变量

与全局变量相比,局部变量的使用范围较小,通常仅限于某个程序段访问,例如函数内部。在
Shell语言中,可以在函数内部通过local关键字定义局部变量,另外,函数的参数也是局部变量。
如下,演示使用local关键字定义局部变量

[root@wan day02]# vim var5.sh +
#!/bin/bash
#定义函数
func()
{
    #使用local关键字定义局部变量
    local v2=200
}
#调用函数
func
#输出变量的值
echo "$v2"

[root@wan day02]# chmod +x var5.sh 
[root@wan day02]# ./var5.sh 

[root@wan day02]# vim var6.sh +
#!/bin/bash
#定义函数
func()
{
    #输出全局变量v1的值
    echo "global variable v1 is $v1"
    #定义局部变量v1
    local v1=2
    #输出局部变量v1的值
    echo "local variable v1 is $v1"
}
#定义全局变量v1
v1=1
#调用函数
func
#输出全局变量v1的值
echo "global variable v1 is $v1"

[root@wan day02]# chmod +x var6.sh 
[root@wan day02]# ./var6.sh 
global variable v1 is 1
local variable v1 is 2
global variable v1 is 1
[root@wan day02]# vim var7.sh +
#!/bin/bash
#定义函数
func()
{
    v1=v1
    echo "global variable v1 is $v1"
    #定义局部变量v1
    local v1=2
    #输出局部变量v1的值
    echo "local variable v1 is $v1"
}
#定义全局变量v1
v1=1
#调用函数
func
#输出全局变量v1的值
echo "global variable v1 is $v1"

[root@wan day02]# chmod +x var7.sh 
[root@wan day02]# ./var7.sh 
global variable v1 is v1
local variable v1 is 2
global variable v1 is v1
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值